Recall that during the attempt to factor large numbers using the Time Turner, Harry receives the message "DO NOT MESS WITH TIME". Also, recall that following the rescue from Azkaban, it is emphasized that not only is a Time Turner restricted to 6 hours use per day, but that not even information from more than 6 hours in the future can be known.

It seems that one possible explanation for the Time Warning is that Harry understood the algorithm too well. By this, I mean that Harry knows that if he sees a paper with the numbers 103*105, he KNOWS that time loops 101*(101 through 999) failed, and 103*(101 through 103) failed. This knowledge would require much more than 6 hours to accumulate through the algorithm.

The 2 numbers that Harry passes back can be replaced by n_{1} and n_{2}. The algorithm described uses (2n_{1} + 101) * (2n_{2} + 101), where n_{1}, n_{2}: [0, 449], and Harry uses initial conditions n_{1} = n_{2} = 0, and increments n_{2} until it reaches 449, then increments n_{1} and resets n_{2} to 0. As I said above, Harry knows that if n_{1} != 0 or n_{2} > 5, at least 6 iterations failed, which provides future knowledge which can't be known.

The exploit would involve generating a list in which:

[*] rotates through all values 0 through 449 without repeating any values, where each value points to exactly one other value

[*] does the above in a way which Harry doesn't know, so Harry can receive any set of numbers and have no knowledge of previous iterations

[*] has a single number marked (explained below)

[*] an example of such a list would be x_{i} = x_{i-1} + 7 (mod 450) since 7 and 450 are relatively prime

Harry would then use the following algorithm: if the paper is blank, pick any two numbers in [0, 449] and write them down. If the paper is not blank, convert the 2 numbers (2n + 101) and multiply them. If they equal the number, write the same values down. If they do not equal the number, consult the list and look ONLY at the number with value n_{2}. Write down the value pointed to by that number as the new n_{2}. If the value is marked, find the number with value n_{1} and write the value pointed to by that number as the new n_{1}, else write down the current n_{1}.

Such a scheme would guarantee all possible combinations are checked, but so long as Harry doesn't know how the list is constructed, he won't have information from more than 6 hours in the future. One concern would be that if n_{1} doesn't match what Harry would've picked (since he'd always pick the same numbers in a given situation), Harry might suspect that several iterations have passed, enough to loop n_{1}. But Harry can't be sure that the previous value of n_{2} caused n_{1} to change, so he actually doesn't have any future information.