(first of all, is this the right stackexchange forum to ask this question?)
A non-deterministic turing machine, if I understand it correctly, can have an if statement and then go to two different instructions and run them simultaneously.
If I understand it correctly, this can cause a N-D Turing machine to branch out and create a potentially exponentially growing number of "threads" that all perform different calculations. This allows it to reduce the time it takes to find a solution to a problem X, to the time it takes to check a solution to the problem X.
Isn't that how a quantum computer works?