Here is the way to generate all relatively prime pythagorean triples: Theorem: Let m and n be positive integers so that [1] m > n [2] m + n is odd [3] m and n are relatively prime Then, [4] a = m^2 - n^2, b = 2mn, c = m^2 + n^2 gives all positive, relatively prime a, b, and c so that [5] a^2 + b^2 = c^2. Proof: Suppose a, b, and c are positive, relatively prime, and a^2 + b^2 = c^2. Because (2k)^2 = 4k^2 and (2k+1)^2 = 4(k+1)k + 1, the square of an even integer must be 0 mod 4 and the square of an odd integer must be 1 mod 4. At least one of a and b must be odd; otherwise a, b, and c would share a common factor of 2. If both are odd, then c^2 would need to be 2 mod 4, which is impossible. Thus, one must be even and the other must be odd. This means that c must be odd. Without loss of generality, let b be even. Let M = (c+a)/2 and N = (c-a)/2. Then [6] a = M - N [7] c = M + N [8] b^2 = 4MN Thus, we have that M > N > 0 and one of M and N must be even and the other must be odd. Furthermore, gcd(M,N) divides a, b, and c; thus, gcd(M,N) = 1. Since b^2 = 4MN and gcd(M,N) = 1, both M and N must be perfect squares. Let M = m^2 and N = n^2, where m and n are positive; then, [1], [2], [3], and [4] are satisfied. Suppose [1], [2], [3], and [4] are satisfied. Then [5] is satisfied: a^2 + b^2 = (m^2 - n^2)^2 + (2mn)^2 = m^4 - 2 m^2 n^2 + n^4 + 4 m^2 n^2 = m^4 + 2 m^2 n^2 + n^4 = (m^2 + n^2)^2 = c^2 Furthermore, a and b are relatively prime since gcd(a,b) = gcd(m^2-n^2,2mn) | gcd(m-n,2) gcd(m-n,m) gcd(m-n,n) gcd(m+n,2) gcd(m+n,m) gcd(m+n,n) = gcd(m+n,2)^2 gcd(n,m)^4 = 1 QED Rob Johnson