별과 정리
별과 정리 · 제168장 · 1부 · 누구나 손댈 수 있는 것

제곱의 차가 큰 수를 쪼갠다

수
큰 수를 제곱수 둘의 차이로 나타내면 두 수의 곱으로 곧바로 쪼개집니다
교과 연결중3 인수분해곱셈공식을 거꾸로 읽는 이야기

이십억을 넘는 수를 열두 번 만에 쪼갠 편지

책상 위에 놓인 종이에 이십억이 넘는 커다란 수 2,027,651,281 이 적혀 있습니다. 이 수가 어떤 두 소수를 곱해 만들어졌는지 찾아내라는 문제가 눈앞에 놓였습니다.

작은 홀수부터 차례대로 나누어 확인한다면 무려 22,010번이나 긴 나눗셈을 되풀이해야 합니다. 그런데 파리의 친구에게 보낸 편지에서 한 수학자는 단 열두 번의 계산만으로 두 수를 정확히 찾아내었습니다.

종이 위를 가득 채우며 며칠 밤을 매달려야 할 것 같던 거대한 수가 어떻게 열두 번의 뜀박질만으로 두 조각으로 갈라졌을까요?

이야기

제곱의 차가 큰 수를 쪼갠다
책상 위의 모눈종이 — 큰 정사각형의 한 귀퉁이를 작은 정사각형으로 오려 냈다

17세기 프랑스 남서부 툴루즈에서 법관으로 일하던 사람인 피에르 드 페르마(1601~1665)는 여가에 수학을 했습니다. 그는 대학 교수가 아니었고 연구를 책으로 거의 내지 않고 편지와 책 가장자리 글로 알렸지만, 다른 학자들과 교류하며 시대의 가장 깊은 문제들을 풀어 나갔습니다.

그 무렵 프랑스 파리에는 유럽 전역의 학자들 사이에서 소식과 수학 문제를 이어 주던 메르센 신부(1588~1648)가 있었습니다. 메르센 신부는 수학자들에게 서로 다른 편지를 전달하며 학문의 우체통 역할을 도맡았고, 페르마 역시 그에게 자신의 새로운 발견을 적어 보내곤 했습니다.

1643년경 페르마가 파리의 메르센에게 보낸 편지에는 큰 수를 둘로 쪼개는 놀라운 계산법이 적혀 있었다고 전해집니다. 당시 큰 수를 쪼개려면 3, 5, 7, 11처럼 작은 수로 하나하나 나누어 보는 방법이 보통이었습니다.

그런데 페르마는 나눗셈을 아래서부터 묵묵히 밀고 올라가는 대신, 전혀 엉뚱한 방향에서 문제에 다가섰습니다. 그는 수를 나누어 깎아 나가는 것이 아니라, 거꾸로 두 제곱수의 차이로 수를 감싸 안는 길을 택했습니다.

페르마의 생각은 단순하면서도 날카로웠습니다. 「어떤 수를 제곱수 둘의 차이로 나타낼 수만 있다면, 그 수는 이미 곱셈으로 갈라진 것과 다름없다」는 생각이었습니다. 왜냐하면 어떤 수 이 두 제곱수의 차 꼴이 된다면, 이는 중학교에서 배우는 곱셈공식에 따라 곧바로 라는 두 덩어리로 쪼개지기 때문입니다.

편지에서 페르마가 다룬 보기로 알려진 수는 2,027,651,281 이었습니다. 3부터 홀수를 하나씩 꺼내 나누어 본다면 가장 작은 약수가 나올 때까지 무려 22,010번의 나눗셈을 거쳐야만 했습니다. 그러나 제곱근에 가까운 수에서 출발하여 제곱수를 빼 보는 페르마의 방법으로는 단 열두 번의 시도만으로 이라는 쌍을 찾아낼 수 있었습니다. 이 수는 , 곧 44021 × 46061 로 허무할 만큼 깨끗하게 갈라졌습니다.

그래서 페르마의 방식은 두 인수가 서로 가까운 거리에 있을 때 놀라운 위력을 발휘합니다. 두 수가 가까울수록 두 수의 한가운데에 있는 값의 제곱에서 원래 수를 뺀 차이가 아주 작아져, 제곱수를 금세 만날 수 있기 때문입니다. 편지에 짤막하게 적혀 전해진 이 발상은, 큰 수를 쪼개는 방법을 소개할 때 지금도 가장 먼저 나오는 방법 가운데 하나입니다.

오늘 이것이 하는 일

오늘날 인터넷 뱅킹과 전자 서명에 널리 쓰이는 RSA 암호 체계는 아주 커다란 두 소수를 곱해 비밀 열쇠를 만듭니다. 이때 두 소수가 서로 너무 가까우면 페르마의 인수분해법에 걸려 암호가 쉽게 풀려 버릴 수 있기 때문에, 암호를 만들 때는 두 소수를 일부러 멀찍이 무작위로 떨어뜨려 놓아야 합니다.

또한 컴퓨터가 아주 큰 수를 쪼갤 때 쓰는 이차 체법 같은 방법들도, 수를 제곱수의 차로 바꾸어 쪼갠다는 같은 생각에서 이어진 후손입니다.

계단 넷 — 같은 사실을 네 깊이로

초4 · 초5 — 손으로 해 본다

모눈종이 정사각형에서 작은 정사각형 하나를 잘라 내어 직사각형으로 바꿉니다

모눈종이 한 장과 가위를 손에 쥐어 봅니다. 가로와 세로가 각각 10칸인 커다란 정사각형을 그리면, 칸의 개수는 모두 개입니다.

이제 오른쪽 맨 위 모서리에서 가로 1칸, 세로 1칸짜리 작은 정사각형 하나를 가위로 오려 냅니다. 오려 낸 조각은 개이므로, 남아 있는 모눈의 칸수는 개가 됩니다.

이 99개의 칸을 반듯한 직사각형 하나로 다시 만들 수 있을까요? 방금 1칸이 떨어져 나가 세로로 9칸만 남은 오른쪽 가장자리 한 줄(가로 1칸 × 세로 9칸)을 가위로 반듯하게 잘라 냅니다. 그러면 왼쪽에 남은 덩어리는 가로 9칸 × 세로 10칸이 됩니다. 잘라 낸 조각을 옆으로 눕히면 가로 9칸 × 세로 1칸이 되는데, 이것을 왼쪽에 남은 덩어리의 아래쪽에 나란히 이어 붙입니다.

남은 조각을 아래에 이어 붙여 9×11 직사각형을 만드는 과정
남은 조각을 아래에 이어 붙여 9×11 직사각형을 만드는 과정

원래 정사각형과 비교하면 가로는 1만큼 줄어 9칸이 되었고, 세로는 아래쪽에 1칸 두께의 줄이 더해져 11칸이 되었습니다. 곧 가로는 1만큼 줄고, 세로는 1만큼 늘어난 것입니다. 손으로 종이 조각을 옮겨 붙였을 뿐인데, 구멍 뚫린 사각형이 가로 9칸, 세로 11칸인 반듯한 직사각형으로 변신했습니다. 99칸짜리 종이가 정확히 직사각형이 된 것입니다.

모퉁이에서 2칸짜리를 오려 내면 어떻게 될까요? 오른쪽 맨 위 모서리에서 가로 2칸, 세로 2칸짜리 정사각형을 오려 내면 빠진 칸수는 개이고, 남은 칸수는 개입니다. 이번에는 비어 있는 오른쪽 맨 끝 2줄(가로 2칸 × 세로 8칸)을 잘라 눕힌 뒤(가로 8칸 × 세로 2칸) 아래쪽에 붙여 봅니다. 가로는 2만큼 줄어 8칸이 되고, 세로는 2만큼 늘어나 12칸이 됩니다. 이번에도 남은 96개의 칸이 가로 8칸, 세로 12칸인 직사각형으로 딱 들어맞습니다.

원래 정사각형오려 낸 정사각형남은 칸수만들어진 직사각형
10 × 10 (100)1 × 1 (1)999 × 11
10 × 10 (100)2 × 2 (4)968 × 12
10 × 10 (100)3 × 3 (9)917 × 13

더 큰 종이로 해 보아도 원리는 똑같습니다. 한 변이 100칸인 큰 정사각형(10,000칸)에서 한 변이 3칸인 정사각형(9칸)을 오려 내면 9,991칸이 남고, 이것도 가로는 3이 줄고 세로는 3이 늘어난 직사각형으로 다시 붙습니다.

큰 정사각형에서 작은 정사각형을 빼내고 남은 모눈 조각은, 항상 두 변의 길이가 다른 직사각형으로 다시 붙일 수 있습니다. 이것을 수식으로 적으면 가 됩니다.

중1 · 중2 — 까닭을 찾는다

제곱의 차 공식을 거꾸로 읽어 작은 수들을 두 수의 곱으로 쪼갭니다

모눈종이를 자르고 붙이며 확인한 규칙을 수학에서는 문자로 적습니다. 중학교에 올라오면 두 식의 곱을 전개하는 곱셈공식을 배웁니다.

이 식을 왼쪽에서 오른쪽으로 읽으면 두 괄호를 곱해 괄호를 푸는 전개이지만, 거꾸로 오른쪽에서 왼쪽으로 읽으면 놀라운 일이 일어납니다.

빼기로 이어진 두 제곱수를 두 식의 곱으로 묶어 내는 것, 이것이 바로 중학교 3학년에서 배우는 인수분해입니다. 어떤 수가 두 제곱수의 차이로 표현되기만 하면, 복잡한 나눗셈을 하지 않아도 곧바로 두 수의 곱으로 갈라집니다.

예를 들어 91이라는 수가 소수인지 아니면 합성수인지 알고 싶다고 해 봅시다. 91보다 살짝 큰 제곱수를 떠올려 봅니다. 10의 제곱은 100입니다. 100에서 91을 빼면 9가 나오는데, 9는 마침 3의 제곱입니다.

제곱의 차가 완성되었으니 곱셈공식을 거꾸로 적용하기만 하면 끝납니다.

91이 소수가 아니라 7과 13의 곱이라는 사실이 순식간에 드러납니다.

143도 마찬가지입니다. 143 바로 위의 제곱수는 144()이고, ()입니다.

조금 더 큰 수인 221은 어떨까요? 221보다 큰 제곱수인 225()를 골라 빼 보면 이 됩니다.

어떤 홀수를 둘로 쪼개고 싶을 때, 그 수보다 큰 제곱수들을 하나씩 떠올려 보며 뺀 결과가 제곱수가 되는 짝을 찾기만 하면, 인수분해 공식이 단숨에 그 수를 쪼개 줍니다.

고1 · 고2 — 넓혀 본다

제곱근 바로 위부터 제곱수를 차례로 빼 보며 큰 수를 빠르게 쪼갭니다

페르마는 이 생각을 큰 수에 쓰는 방법으로 편지에 적어 보냈다고 전해집니다.

어떤 홀수 을 쪼갤 때, 출발점은 의 제곱근보다 크거나 같은 정수 입니다. 를 이 값부터 하나씩 올려 가며 이 정수의 제곱 이 될 때까지 계산합니다. 제곱수가 나오는 순간 로 쪼개집니다.

이 방법의 속도는 두 인수 와 ()의 거리에 달렸습니다. , 이므로, 두 인수가 가까울수록 가 작아져 몇 걸음 만에 끝납니다.

두 인수 p와 q의 중심 a와 대칭 거리 b를 나타낸 수직선 구조
두 인수 p와 q의 중심 a와 대칭 거리 b를 나타낸 수직선 구조
수 두 인수출발값 끝난 걸음 수
3,59959 × 6160601
10,403101 × 1031021021
1,022,1171009 × 1013101110111
3,0273 × 100956506451

3,599처럼 두 인수가 가까우면 단 1걸음에 끝나지만, 3,027처럼 인수가 멀면 451걸음이 걸립니다.

페르마의 편지에 실린 큰 수 은 에서 시작합니다. 를 12번 올려 이 되면 제곱수가 나타납니다.

따라서 , 이며, 두 인수는 , 이 되어 로 갈라집니다.

3부터 홀수로 나누면 가장 작은 소인수 44021까지 22,010번 나누어야 하지만, 페르마의 방법은 단 12걸음 만에 해답을 찾아냅니다.

대학 — 어디까지 가나

두 소수가 가까우면 쉽게 깨지는 원리와 현대 인수분해 알고리즘으로 이어집니다

현대 암호학의 핵심인 RSA 암호는 거대한 두 소수 와 를 곱한 합성수를 공개키로 사용합니다. 곱하는 일은 눈 깜짝할 사이에 끝나지만, 거대한 합성수를 다시 두 소수로 쪼개는 일은 오늘의 컴퓨터로도 현실적인 시간 안에 해낼 수 없기 때문입니다. 제4장에서 다루듯 곱하기는 쉽고 나누기는 어렵다는 비대칭성이 암호의 자물쇠가 됩니다.

그러나 만약 암호를 만들 때 고른 두 소수 와 가 서로 너무 가까운 수라면 치명적인 구멍이 생깁니다. 페르마의 인수분해법은 두 소수가 가까울수록 압도적으로 빠르게 작동하기 때문에, 보통의 컴퓨터로도 순식간에 두 소수를 알아낼 수 있습니다. 그래서 현대 암호 시스템에서는 두 소수가 충분히 멀리 떨어지게 무작위로 고르는 것이 보통입니다.

나아가 현대의 정수론 학자들이 거대한 수를 인수분해하기 위해 만든 최신 알고리즘들도 페르마의 생각을 바탕으로 합니다. 두 제곱수의 차이가 의 배수가 되도록 짝을 맞춰 나가는 이차 체법과 수체 체법이 모두 같은 생각에서 이어진 후손입니다.

풀어 보기

중학교 3학년 수준  ·  답은 검산을 마쳤습니다

(1) 다음 다항식을 인수분해 하십시오.

(2) 곱셈공식 를 이용하여 다음 곱셈을 계산하십시오.

(3) 자연수 253 을 페르마의 방법으로 1보다 큰 두 자연수의 곱으로 나타내십시오. (253 보다 크거나 같은 제곱수부터 차례로 253 을 빼 보십시오.)

답과 풀이 보기

(1)
이므로 주어진 식은 제곱의 차 꼴입니다.

(2) 9996
두 수 98과 102는 모두 100을 기준으로 같은 거리인 2만큼 떨어져 있습니다.
따라서 , 로 두면 다음과 같이 간단히 계산됩니다.

(3) (또는 )
보다 큰 가장 작은 제곱수는 , 은 제곱수가 아닙니다.
다음 , .
따라서 .

더 멀리

이어지는 장

곱하기는 쉽지만 쪼개는 것은 끝없이 어려운 소수의 성질과 암호의 이야기는 제4장에 실려 있습니다.

페르마에게 큰 수 쪼개기의 편지를 받았던 파리의 우체통 메르센 신부와 거대한 소수를 찾는 탐험은 제40장에서 이어집니다.

모든 자연수가 소수들의 곱으로 오직 한 가지 길로만 쪼개진다는 산술의 기본정리는 제158장에서 만날 수 있습니다.

페르마가 남긴 수많은 업적 가운데 소수로 나눈 나머지에 숨은 규칙을 밝힌 또 다른 발견이 제134장이며, 수백 년 동안 수학자들을 잠 못 들게 한 전설적인 메모는 제84장에 담겨 있습니다.

영감을 받은 곳

1643년경 페르마가 메르센 신부에게 보낸 편지에서 제곱수의 차이를 이용해 큰 수를 인수분해하는 방법과 의 예시를 제시했다고 전해집니다.

페르마는 법관으로 일하며 여가에 수학을 했고, 연구를 책으로 거의 내지 않아 편지와 책 가장자리 글로 알려졌다고 전해집니다.

예와 문항은 이 책을 위해 새로 지었고 모든 수는 다시 계산해 확인했습니다.

올린 그림 — 크게 보고 고치기

✏️ 손으로 풀어보세요
문제 크기 105%
▼ 문제가 더 있습니다
6