Here's another proof, for those of you who never learned trigonometry, or just like to collect proofs.

To repeat the assertion, it is that any primitive Pythagorean triple (a,b,c) will be equal to (x^2-y^2,2xy,x^2+y^2) for two natural numbers x and y. First, consider the fact that c must be either even or odd. For the moment, let c be even. Then either a and b can both be even, or both be odd. If a, b and c are all even, then they do not form a primitive triple (they're all divisible by two), so we disregard this case. So a = 2j+1, b = 2k+1 and c = 2m. a^2 + b^2 = c^2, so (2j+1)^2 + (2k+1)^2 = (2m)^2. This yields 4j^2 + 4j + 1 + 4k^2 + 4k + 1 = 4m^2. But this statement says that an integer of the form 4n+2 is equal to an integer of the form 4p, and that's impossible. So, it's apparent that no primitive Pythagorean triple has an even hypotenuse.

Since c must be odd, a and b must be of different parity. Since it doesn't matter, let a be odd and b be even. Rewriting the Pythagorean theorem, we get b^2 = c^2-a^2 = (c-a)(c+a). We already decided that b is even, so we divide it by 2 and get (b/2)^2 = (c-a)/2 * (c+a)/2.

Obviously enough, c = (c+a)/2 + (c-a)/2, and a = (c+a)/2 - (c-a)/2. So if (c+a)/2 and (c-a)/2 had any common divisors, these divisors would also divide both c and a. But (a,b,c) is a primitive triple, so gcd((c+a)/2,(c-a)/2)) must be 1. Now, I don't know about you, but where I come from, when the product of two numbers is a square and the numbers don't share any divisors, we conclude pretty swiftly that the two numbers have to be squares themselves. And (b/2)^2 is a square, dammit! So we write that (c+a)/2 = x^2, and (c-a)/2 = y^2. We can now write c = x^2 + y^2, and a = x^2 - y^2. Finally, we have (b/2)^2 = x^2*y^2, so b/2 = x*y, and b = 2xy. QEFD