일전에 포스트한 g(3)=9 의 part 3 증명과정을 다시 읽어보니 마지막 부분이 다 틀렸다-_- 책이 틀린 줄 알고 내 맘대로 증명했는데, 다시 보니 책이 맞고 내가 틀렸던 것이다. 결국 뒷부분을 다시 수정했다. ㅎㅎ
일전의 part 1에서 40000 이하의 모든 자연수는 아홉 개의 세제곱수의 합으로 표현가능함을 컴퓨터를 통해 확인할 수 있다고 했는데, 실제로 C 프로그램을 짜 봤다.
zariski@zariski-desktop:~/cpp$ cc g3.c
zariski@zariski-desktop:~/cpp$ ./a.out
15, 2, 1, 1, 1, 1, 1, 1, 1
22, 2, 2, 1, 1, 1, 1, 1, 1
23, 2, 2, 1, 1, 1, 1, 1, 1, 1
50, 2, 2, 2, 2, 2, 2, 1, 1
114, 3, 3, 3, 2, 2, 2, 2, 1
167, 5, 2, 2, 2, 2, 2, 1, 1
175, 4, 3, 3, 3, 3, 1, 1, 1
186, 5, 3, 2, 2, 2, 2, 1, 1
212, 5, 3, 3, 2, 2, 2, 2, 1
231, 5, 3, 3, 3, 2, 2, 2, 1
238, 5, 3, 3, 3, 2, 2, 2, 2
239, 5, 3, 3, 3, 2, 2, 2, 2, 1
303, 6, 3, 3, 2, 2, 2, 2, 1
364, 7, 2, 2, 1, 1, 1, 1, 1
420, 7, 4, 2, 1, 1, 1, 1, 1
428, 7, 3, 3, 3, 1, 1, 1, 1
454, 7, 3, 3, 3, 3, 1, 1, 1
zariski@zariski-desktop:~/cpp$
보시다시피 40000 이하의 모든 자연수를 세제곱수의 합들로 표현했을 때, 최대 개수가 7개를 넘는 것과 10000이상의 수 중 6개를 넘는 것들만 출력해 보았다. 소스코드는 다음과 같다. 뭐 별거 없다ㅋ
모든 자연수는 아홉 개의 세제곱수의 합으로 표현가능하다. 이를 증명하기 위해서는 몇 개의 보조정리가 필요하다.
이 내용은 Nathanson[1]의 내용을 그대로 옮긴 것임.
웨어링의 문제라는게 있다. 이것은 자연수를 거듭제곱들의 합으로 표현하려면 몇 개가 필요한가 하는 문제이다.
예를 들어 모든 자연수를 제곱수들의 합으로 표현하려면 네 개로 충분하다. (Lagrange’s four-square theorem) 이 증명은 포스팅한 블로거가 많으므로 생략한다. 예를 들어 이곳 또는 이곳을 참조하라.
또한 모든 자연수를 세제곱수의 합으로 표현하려면 아홉 개로 충분하다. (Wieferich’s theorem) 그런데 재미있게도 아홉 개의 세제곱수가 필요한 자연수는 사실 23과 239 두 개 뿐이다. 충분히 큰 모든 자연수들은 일곱 개의 세제곱수의 합으로 표현가능하다.
그래서 생겨나는 자연스러운 질문은 필요한 거듭제곱수들의 개수가 두 종류가 있다는 것인데, 전체 자연수를 표현하는데 필요한 거듭제곱수들의 개수와 충분히 큰 자연수들을 표현하는데 필요한 거듭제곱수들의 개수가 다를 수도 있다. 이 두 종류의 개수를 각각 과
이라고 쓰기로 하자. 즉, 위에 서술한 말을 간단하게 쓰면
,
,
이 된다.
그런데 어떤 특수한 의 경우
이 존재하지 않을 수도 있는가? 그런데 항상 존재한다. 이게 Hilbert–Waring 정리이다.
현재까지 알려진 결과에 의하면 ,
,
,
이다. 애석하게도
의 정확한 값은 아직 알려져 있지 않다.