how can you find all right-angled triangle with integer sides if one of the sides is 2001 units long?
Edit: Actually, generating all the triples is probably overkill in this case, although it probably involves the least thought.
Edit 2: The only factor of 2001 that could equal m^2 + n^2 is 29. See here.
(Edited a mistake out too.)
Edit 3: m^2 - n^2 can be written (m-n)(m+n) which reduces it to a factorization problem.