Processing math: 100%
본문 바로가기

수학/정수론

정수론 (2) - 베주 항등식

저번에 최대공약수, 최소공배수, 그리고 유클리드 호제법에 대해 알아보았습니다. 저번 시간에 배운 내용을 바탕으로 이번에는 정수론의 가장 중요한 정리 중 하나인 베주 항등식에 대해 알아보겠습니다.

 

별 그리기

다음과 같이 12개의 점이 원형으로 찍혀 있습니다.

여기서 0부터 시작해 두 칸씩 건너 뛰어서 점을 이어보도록 하겠습니다.

위와 같은 육각형이 나오네요! 이 도형은 열 칸씩 건너 뛰어도 나옵니다. 한편 세 칸씩, 또는 아홉 칸씩 건너 뛰면 각각 아래와 같은 도형이 그려집니다.

한 칸, 다섯 칸, 일곱 칸, 또는 열한 칸씩 건너 뛰면 아래와 같은 도형이 나옵니다.

아래 표는 a칸씩 건너 뛰었을 때 나오는 도형을 정리한 표입니다.

a칸 건너뛰었을 때 도달하는 점의 위치
1, 5, 7, 11 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
2, 10 0, 2, 4, 6, 8, 10
3, 9 0, 3, 6, 9
4, 8 0, 4, 8
6 0, 6

이 표를 유심히 보면 한 가지 패턴을 찾을 수 있습니다. 바로 a칸씩 건너뛰는 것으로 도달하는 점들은 gcd(a,12)의 배수라는 점입니다.

 

수직선 건너뛰기

왜 그런지 알아보기 전에, 또 다른 문제를 보도록 합시다. 아래와 같은 수직선 위에서, 제가 원점에 서 있습니다. 저는 앞뒤로 15칸, 또는 6칸씩 움직일 수 있습니다. 그러면 이 때, 제가 도달할 수 있는 점들은 어떤 점들일까요?

먼저 15칸을 간 뒤 6칸을 뒤로 가면, 저는 156=9칸을 갈 수 있습니다.

즉, 이 문제는 제가 앞뒤로 6칸, 9칸을 움직일 수 있을 때 어떤 점에 도달할 수 있는가와 동일한 문제입니다.

똑같이 9칸을 간 뒤 6칸을 뒤로 가면, 저는 96=3칸을 갈 수 있습니다. 즉, 이 문제는 제가 앞뒤로 3칸, 6칸을 움직일 수 있을 때 어떤 점에 도달할 수 있는가와 동일한 문제입니다.

그런데 여기서 6칸을 간 뒤 3칸을 뒤로 가면, 저는 63=3칸을 갈 수 있는데 저는 이미 3칸을 갈 수 있는 상태였습니다. 즉, 저는 3칸보다 더 조금 이동할 수는 없다는 결론이 나옵니다. 결국 제가 도달할 수 있는 점들은 3의 배수인 점들이 되겠네요.

 

혹시 이 과정이 익숙하게 느껴지지 않나요? 우리가 지금 한 것은 유클리드 호제법입니다.


gcd(a,b)=gcd(a,ba)


유클리드 호제법에 의하면 한 수에서 다른 수를 빼는 과정을 두 수가 같아질 때까지 계속 반복하면 최종적으로 얻게 되는 수는 최대공약수입니다. 때문에 제가 최소로 이동할 수 있는 단위는 gcd(6,15)가 되며, 제가 이동할 수 있는 점들은 3의 배수가 되는 것입니다.

 

결론: 앞뒤로 a,b칸씩 움직일 수 있다면, gcd(a,b)의 배수인 점들에만 도달할 수 있으며, gcd(a,b)의 배수인 점들은 모두 도달할 수 있다.

 

두 문제 연결짓기

그런데 수직선 건너뛰기 문제와 별 그리기 문제는 동일한 문제입니다. 이를 보기 위해서, 수직선을 아래와 같이 동그랗게 말아보겠습니다.

이렇게 말면, 앞뒤로 15만큼 움직이는건 한 바퀴를 도는 것이기 때문에 그냥 제자리에 있는 것입니다. 때문에 실제로 의미있는 것은 앞뒤로 6만큼 움직이는 것입니다. 상황이 별 그리기 문제와 동일합니다! 그러나 여전히 제가 움직일 수 있는 곳은 gcd(15,6)의 배수입니다. 즉, a등분되어 있는 원 위에서 b칸씩 건너뛰어서 도달할 수 있는 지점은 gcd(a,b)의 배수라는 것이죠.

 

베주 항등식

수직선 건너뛰기 문제의 결론을 수식으로 멋들어지게 쓰면 아래와 같습니다.

 

N,M이 정수일 때 aN+bM의 가능한 값은 gcd(a,b)의 배수이며, 오직 이 값들만이 가능하다.

 

이 정리를 베주 항등식(Bezout's Identity)라고 합니다. 한편 별 그리기 문제와 수직선 건너뛰기 문제의 연관성을 통해 위 정리는 아래 정리와 동치임을 알 수 있습니다.

 

N이 정수일 때, aNb로 나눴을 때의 나머지의 가능한 값은 gcd(a,b)의 배수이며, 오직 이 값들만이 가능하다.

 

이 사실은 나중에 합동식에서의 나눗셈에 대해 탐구할 때 매우 중요하게 쓰일 것입니다.

 

수식적 증명

지금까지 우리는 베주 항등식이 왜 성립하는지 직관적으로 살펴보았습니다. 혹시 관심있는 분들을 위해 이 정리를 수식적으로도 증명해 보겠습니다. 먼저 아래와 같이 유클리드 호제법을 적용해 보겠습니다.


a=bx1+r10<r1<bb=r1x2+r20<r2<r1r1=r2x3+r30<r3<r2rn1=rnxn+1+rn+10<rn+1<rnrn=rn+1xn+2


유클리드 호제법에 의해 gcd(a,b)=rn+1입니다. 위 식에서 rn+1=rn1rnxn+1이므로, pn1=1,pn=xn+1에 대하여 rn+1은,


rn+1=pn1rn1+pnrn


꼴로 쓸 수 있습니다. 마찬가지로 rn=qn2rn2+qn1rn1의 꼴이기 때문에, 이를 rn+1=pn1rn1+pnrn에 대입하면 rn+1


rn+1=sn1rn1+sn2rn2


의 꼴로 쓸 수 있습니다. 우변의 차수가 1씩 줄었습니다. 이 과정을 계속 반복하면 결국 rn+1=gcd(a,b)=Na+Mb의 꼴로 표현이 될 것입니다. 이로 증명이 완료되었습니다. (사실 이것보다 조금 더 디테일하게 들어가야 하는데, 핵심은 이 정도입니다. 가볍게 배우는 건데 너무 엄밀히 따지지는 말자고요ㅎㅎ)

 

저는 다음 글, 합동식에서 뵙도록 하겠습니다!