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 n1 and n2. The algorithm described uses (2n1 + 101) * (2n2 + 101), where n1, n2: [0, 449], and Harry uses initial conditions n1 = n2 = 0, and increments n2 until it reaches 449, then increments n1 and resets n2 to 0. As I said above, Harry knows that if n1 != 0 or n2 > 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 xi = xi-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 n2. Write down the value pointed to by that number as the new n2. If the value is marked, find the number with value n1 and write the value pointed to by that number as the new n1, else write down the current n1.
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 n1 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 n1. But Harry can't be sure that the previous value of n2 caused n1 to change, so he actually doesn't have any future information.