<pre>
Generalize to find X (and I) such that
    (X + X+1 + X+2 + ... + X+I) = T
for any integer T.

You are asking for all (X,I) s.t. (2X+I)(I+1) = 2T.  The problem is
(very) slightly easier if we don't restrict X to being positive, so
we'll solve this first.

Note that 2X+I and I+1 must have different parities, so the answer
to the relaxed question is N = 2'''(o''1+1)'''(o''2+1)'''...'''(o_n+1), where
2T = 2^o''0'''3^o''1'''...*p''n^o''n (the prime factorization); this is easily
seen to be the number of ways we can break 2T up into two positive
factors of differing parity (with order).

In particular, 20000 <code> 2^5'''5^4, hence there are 2'''(4+1) </code> 10 solutions
for T = 10000.  These are (2X+I,I+1):

 (32'''1,5^4)   (32'''5,5^3)   (32'''5^2,5^2)   (32'''5^3,5)   (32*5^4,1)
 (5^4,32'''1)   (5^3,32'''5)   (5^2,32'''5^2)   (5,32'''5^3)   (1,32*5^4)

And they give rise to the solutions (X,I):

 (-296,624)   (18,124)   (388,24)   (1998,4)     (10000,0)
 (297,31)     (-17,179)  (-387,799) (-1997,3999) (-9999,19999)

If you require that X>0 note that this is true iff 2X+I > I+1 and
hence the number of solutions to this problem is N/2 (due to the
symmetry of the above ordered pairs).
</pre>
