중학교에서 피타고라스 정리를 배우고 나면 여러 가지 직각삼각형을 문제에서 접하게 되죠.
흔히 '특수각'이라고 하는 30˚, 45˚, 60˚를 이용해서 만들 수 있는 두 직각삼각형을 제외하면 세 변의 길이 비가 3:4:5, 5:12:13, 8:15:17인 경우가 자주 나와요. 물론 직각삼각형이니 피타고라스 정리를 만족하죠.
이런 세 자연수는 어떻게 찾을 수 있을까요?
피타고라스 정리를 만족하는 세 자연수를 피타고라스 수(삼조) Pythgorean triple라고 해요. 셋 중 둘을 알면 나머지 하나는 피타고라스 정리로 찾을 수 있겠죠. 가장 큰 하나는 빗변에 해당하니 나머지 둘의 제곱합이 자연수의 제곱이 되는지 보면 되겠네요.
고등학교에서 삼각함수를 정의할 때처럼, 빗변이 아닌 한 변을 $x$좌표, 나머지 하나를 $y$좌표라고 생각하면 좌표평면에 나타냈을 때 원점과의 거리가 자연수인 점을 찾으면 되죠. 두 수는 자연수이니 제1사분면에 위치하는 점일 테고, 원점과의 거리가 자연수가 아니라면 자연수의 제곱근이라는 점을 생각해 볼 수 있어요.
위 그림은 B(2,1)과 $x$축에 내린 수선의 발 A, 그리고 원점 O를 세 꼭짓점으로 하는 직각삼각형으로 피타고라스 수를 만든 거예요.
삼각형 OAB와 닮음인 OBC의 빗변은 닮음비에 의해 $\rm\ls{OC}={\ls{OB}^2\over\ls{OA}}=\frac52$라는 걸 알 수 있죠. 분모가 선분 OA의 길이 2이므로 (두 좌표가 서로소가 아니라면 최대공약수로 나눈 값이 됩니다.) 삼각형 OBC를 2배 확대했을 때의 빗변 OD의 길이가 5가 되는 거죠.
이해를 돕기 위해 직각삼각형으로 설명했지만, 과정을 줄이려면 (0,0)과 (1,0) 그리고 주어진 자연수 좌표로 표현한 점으로 삼각형을 만들면 돼요.
https://www.desmos.com/geometry/ce0aje4en9
위의 링크에서 슬라이드를 움직이면 확대되면서 회전하는 삼각형을 확인할 수 있어요.
위의 설명들로도 충분히 피타고라스 수를 찾는 식을 세울 수 있지만, 좀 더 간단한 계산을 위해 복소수를 쓸 수 있죠.
복소수는 두 실수 $u$와 $v$를 써서 $u+iv$라는 형태로 나타내는 건 고등학생 정도면 다들 알 거예요. 관심이 있는 분이라면 크기와 편각으로 나타내는 법도 알겠죠. 0이 아닌 복소수 $u+iv$의 크기가 $r=\sqrt{u^2+v^2}$이고 복소평면에서 0과 이 복소수를 잇는 선분이 실수축의 양의 방향과 반시계 방향으로 이루는 각의 크기를\[\th=\cases{\arccos\frac ur,&$v\ge0$\\-\arccos\frac ur,&$v<0$}\]라 하면 $u+iv=r(\cos\th+i\sin\th)$가 성립해요. 이 표현을 이용해 두 복소수의 곱을 생각해 보면,\[\eqalign{&r_1\p{\cos\th_1+i\sin\th_1}\cdot r_2\p{\cos\th_2+i\sin\th_2}\\&=r_1r_2\p{\cos\th_1\cos\th_2-\sin\th_1\sin\th_2+i\sin\th_1\cos\th_2+i\cos\th_1\sin\th_2}\\&=r_1r_2\p{\cos\p{\th_1+\th_2}+i\sin\p{\th_1+\th_2}}}\]이와 같이 크기는 두 크기의 곱이 되고, 편각은 두 편각의 합이 되죠.
즉, 두 자연수 $u$와 $v$에 대해 $(u+iv)^2=u^2-v^2+2iuv$의 크기가 $u^2+v^2$이므로 세 자연수 $u^2-v^2,2uv,u^2+v^2$이 피타고라스 정리를 만족한다는 것을 쉽게 알 수 있어요. 물론 $u^2-v^2$이 자연수이기 위해선 $u>v$를 만족해야겠죠.
물론 복소수를 사용하지 않아도 삼각함수의 배각공식을 이용해서 어렵지 않게 찾을 수 있어요. $(m,n)$에 대해 빗변의 길이가 제곱이 되는 위와 같은 직각삼각형을 찾으면, 빗변은 $m^2+n^2$이고, 나머지 두 변은 $m^2-n^2,2mn$이 된다는 거죠.
그렇다면 피타고라스 수는 이렇게 만들어지는 것 말고는 없을까요?
세 자연수가 피타고라스 정리를 만족할 때, 그중 둘이 서로소가 아니라면, 그 최대공약수를 나머지 하나도 약수로 가져요. 최대공약수의 배수를 더하거나 빼서 얻을 수 있는 수이니 당연하죠. 세 수가 서로소가 아닌 경우는 최대공약수로 나눠 구한 서로소인 피타고라스 수를 안다면 쉽게 만들 수 있어요. 그러니 서로소인 경우만 살펴보기로 하죠.
$a,b,c$가 서로소인 피타고라스 수(원시 피타고라스 수 primitive Pythagorean triple라고 해요.)라면, $a^2+b^2=c^2$에서 단 하나만 짝수라는 것을 알 수 있어요. 셋 모두 홀수일 수는 없고, 둘이 홀수라면 나머지 하나는 짝수가 되죠. 셋 모두 짝수라면 서로소가 아니에요. 만약 $c$가 짝수라면 $a^2$과 $b^2$을 4로 나눈 나머지가 하나는 1, 다른 하나는 3이어야 해요. $c^2$은 4의 배수이기 때문이죠. 홀수 $2k-1$의 제곱은 $4k^2-4k+1$로 4로 나눈 나머지가 1일 수밖에 없어요. 그러니 $c$는 홀수겠죠.
$b$가 짝수라고 가정할게요. $b^2=c^2-a^2=(c-a)(c+a)$에서 각 인수가 짝수이니 자연수인 $c-a\over2$와 $c+a\over2$를 살펴보죠. 두 수의 최대공약수는 $c-a\over2$와 $a={c+a\over2}-{c-a\over2}$의 최대공약수와 같아요. $c$와 $a$는 서로소이니 $c-a$와 $a$도 서로소예요. 즉, 위의 두 수는 서로소이므로 $b^2=(c-a)(c+a)$에서 둘 모두 자연수의 제곱이 된다는 것을 알 수 있죠. 즉, $m=\sqrt{c+a\over2},n=\sqrt{c-a\over2}$라 하면 어떤 원시 피타고라스 수라도 위의 식을 이용해 구할 수 있다는 거예요.
두 자연수 $m$과 $n$이 원시 피타고라스 수를 만들 조건도 비슷한 방법으로 찾을 수 있죠. 이 문제는 직접 생각해 보시길 바래요.