永垂不朽的正十七边形
正十七边形尺规作图问题的解决纯属一场意外。
天才数学家高斯某一天接到了这道作业题,第二天,熬了一晚上的高斯不好意思地对老师说:
辜负了您的期望,我花了一晚上才把题目做出来。
老师接过手稿大吃一惊,这本是自己的研究课题,一个2000多年来未解决的难题,居然被十九岁的高斯一个晚上解决了!
后来经过一番研究,高斯对正 n n n 边形的尺规作图问题给出了完美的解答。
1、问题的转化
在代数数与超越数 一文中,我谈到了尺规作图问题就是作实数的问题
其实作正十七边形,相当于作 cos ( 2 π 17 ) \cos(\frac{2\pi}{17}) cos ( 1 7 2 π )
试想我们现在有单位圆,只需在半径上作出 cos ( 2 π 17 ) \cos(\frac{2\pi}{17}) cos ( 1 7 2 π ) ,然后再作垂线就能作出角 2 π 17 \frac{2\pi}{17} 1 7 2 π
2、挖掘性质
我们考虑方程 x 17 − 1 = 0 x^{17}-1=0 x 1 7 − 1 = 0 ,它的解为 17 17 1 7 次单位复数根x n = cos ( 2 n π 17 ) + i sin ( 2 n π 17 ) x_n=\cos(\frac{2n\pi}{17})+i\sin(\frac{2n\pi}{17}) x n = cos ( 1 7 2 n π ) + i sin ( 1 7 2 n π )
设这 17 17 1 7 个根分别为 x 0 , x 1 , . . . , x 16 x_0,x_1,...,x_{16} x 0 , x 1 , . . . , x 1 6 ,根据韦达定理有:
x 0 + x 1 + ⋯ + x 16 = 0 x_0+x_1+\cdots+x_{16}=0 x 0 + x 1 + ⋯ + x 1 6 = 0
设 C n = cos ( 2 n π 17 ) C_n=\cos(\frac{2n\pi}{17}) C n = cos ( 1 7 2 n π ) ,则
x k + x 17 − k = 2 cos ( 2 k π 17 ) = 2 C k x_k+x_{17-k}=2\cos(\frac{2k\pi}{17})=2C_k x k + x 1 7 − k = 2 cos ( 1 7 2 k π ) = 2 C k
且 x 0 = 1 x_0=1 x 0 = 1 ,故
C 1 + C 2 + ⋯ + C 8 = − 1 2 C_1+C_2+\cdots+C_8=-\frac{1}{2} C 1 + C 2 + ⋯ + C 8 = − 2 1
根据积化和差公式,可以得到
C m n = 1 2 ( C m + C n ) C_{mn}=\frac{1}{2}(C_{m}+C_{n}) C m n = 2 1 ( C m + C n )
根据诱导公式,可以得到
C k = C 17 − k C_{k}=C_{17-k} C k = C 1 7 − k
3、分而治之
我们考虑将 C 1 , C 2 , … , C 8 C_1,C_2,\ldots,C_8 C 1 , C 2 , … , C 8 分成两组,分别计算出和的值
比如令
{ C 1 + C 3 + C 5 + C 7 = a C 2 + C 4 + C 6 + C 8 = b \left\{\begin{matrix}C_1+C_3+C_5+C_7=a\\C_2+C_4+C_6+C_8=b\end{matrix}\right. { C 1 + C 3 + C 5 + C 7 = a C 2 + C 4 + C 6 + C 8 = b
则 a + b = − 1 2 a+b=-\frac{1}{2} a + b = − 2 1 ,只要通过上面的性质计算出 a b ab a b 的值就能通过解方程分别计算出 a , b a,b a , b
然后再将 a , b a,b a , b 以上述方法继续分组,这就是分治的思想
那么如何分组能完成目标呢?
我们以如下程序枚举所有分组,观察一下结果
#include <bits/stdc++.h>
#define FILE "read"
using namespace std;
inline int gcd ( int a, int b) { return ! b? a: gcd ( b, a% b) ; }
void solve ( int A, int B, int C, int D) {
int ret[ 2 ] [ 10 ] , M[ 10 ] , cnt= 0 ;
memset ( ret, 0 , sizeof ( ret) ) ;
memset ( M, 0 , sizeof ( M) ) ;
ret[ 0 ] [ 1 ] = A; ret[ 0 ] [ 2 ] = B;
ret[ 0 ] [ 3 ] = C; ret[ 0 ] [ 4 ] = D;
for ( int i= 1 ; i<= 8 ; ++ i)
if ( i!= A&& i!= B&& i!= C&& i!= D) ret[ 1 ] [ ++ cnt] = i;
for ( int i= 1 ; i<= 4 ; ++ i) for ( int j= 1 ; j<= 4 ; ++ j) {
int x= ret[ 0 ] [ i] + ret[ 1 ] [ j] ;
int y= ret[ 0 ] [ i] - ret[ 1 ] [ j] ;
if ( x> 8 ) x= 17 - x;
if ( y< 0 ) y= - y;
M[ x] ++ ; M[ y] ++ ;
}
int R= M[ 8 ] ;
for ( int i= 1 ; i< 8 ; ++ i) R= gcd ( R, M[ i] ) ;
printf ( "2(C[%d]+C[%d]+C[%d]+C[%d])(C[%d]+C[%d]+C[%d]+C[%d])=%dC[1]+%dC[2]+%dC[3]+%dC[4]+%dC[5]+%dC[6]+%dC[7]+%dC[8]" , ret[ 0 ] [ 1 ] , ret[ 0 ] [ 2 ] , ret[ 0 ] [ 3 ] , ret[ 0 ] [ 4 ] , ret[ 1 ] [ 1 ] , ret[ 1 ] [ 2 ] , ret[ 1 ] [ 3 ] , ret[ 1 ] [ 4 ] , M[ 1 ] , M[ 2 ] , M[ 3 ] , M[ 4 ] , M[ 5 ] , M[ 6 ] , M[ 7 ] , M[ 8 ] ) ;
printf ( "::gcd=%d\n" , R) ;
}
int main ( ) {
freopen ( FILE".in" , "r" , stdin ) ;
freopen ( FILE".out" , "w" , stdout ) ;
for ( int A= 1 ; A<= 1 ; ++ A) for ( int B= A+ 1 ; B<= 8 ; ++ B)
for ( int C= B+ 1 ; C<= 8 ; ++ C) for ( int D= C+ 1 ; D<= 8 ; ++ D)
solve ( A, B, C, D) ;
return 0 ;
}
结果如下:
我们发现第九行的分组能保证结果中所有系数相等,故令
{ C 1 + C 2 + C 4 + C 8 = a C 3 + C 5 + C 6 + C 7 = b \left\{\begin{matrix}C_1+C_2+C_4+C_8=a\\C_3+C_5+C_6+C_7=b\end{matrix}\right. { C 1 + C 2 + C 4 + C 8 = a C 3 + C 5 + C 6 + C 7 = b
得到
a b = 2 ( C 1 + C 2 + C 3 + C 4 + C 5 + C 6 + C 7 + C 8 ) = − 1 ab=2(C_1+C_2+C_3+C_4+C_5+C_6+C_7+C_8)=-1 a b = 2 ( C 1 + C 2 + C 3 + C 4 + C 5 + C 6 + C 7 + C 8 ) = − 1
因此 a , b a,b a , b 是方程 x 2 + 1 2 x − 1 = 0 x^2+\frac{1}{2}x-1=0 x 2 + 2 1 x − 1 = 0 的根,且 a > 0 , b < 0 a>0,b<0 a > 0 , b < 0 ,故
{ a = 17 − 1 4 b = − 17 − 1 4 \left\{\begin{matrix}a=\frac{\sqrt{17}-1}{4}\\b=\frac{-\sqrt{17}-1}{4}\end{matrix}\right. { a = 4 1 7 − 1 b = 4 − 1 7 − 1
4、繁杂的计算
{ a = C 1 + C 2 + C 4 + C 8 b = C 3 + C 5 + C 6 + C 7 c = C 1 + C 4 d = C 2 + C 8 e = C 3 + C 5 f = C 6 + C 7 ⇒ { a + b = − 1 2 a b = − 1 c + d = a c d = − 1 4 e + f = b e f = − 1 4 ⇒ { a = 17 − 1 4 b = − 17 − 1 4 c = a + a 2 + 1 2 d = a − a 2 + 1 2 e = b + b 2 + 1 2 f = b − b 2 + 1 2 ⇒ { C 1 + C 4 = c C 1 C 4 = e 2 C 2 + C 8 = d C 2 C 8 = f 2 C 3 + C 5 = e C 3 C 5 = d 2 C 6 + C 7 = f C 6 C 7 = c 2 ⇒ { C 1 = c + c 2 − 2 e 2 C 2 = d + d 2 − 2 f 2 C 3 = e + e 2 − 2 d 2 C 4 = c − c 2 − 2 e 2 C 5 = e − e 2 − 2 d 2 C 6 = f + f 2 − c d 2 C 7 = f − f 2 − c d 2 C 8 = d − d 2 − 2 f 2 \left\{\begin{array}{l}a=C_1+C_2+C_4+C_8\\b=C_3+C_5+C_6+C_7\\c=C_1+C_4\\d=C_2+C_8\\e=C_3+C_5\\f=C_6+C_7\end{array}\right.\Rightarrow \left\{\begin{matrix}a+b=-\frac{1}{2}\\ab=-1\\c+d=a\\cd=-\frac{1}{4}\\e+f=b\\ef=-\frac{1}{4}\end{matrix}\right.\Rightarrow \left\{\begin{matrix}a=\frac{\sqrt{17}-1}{4}\\b=\frac{-\sqrt{17}-1}{4}\\c=\frac{a+\sqrt{a^2+1}}{2}\\d=\frac{a-\sqrt{a^2+1}}{2}\\e=\frac{b+\sqrt{b^2+1}}{2}\\f=\frac{b-\sqrt{b^2+1}}{2}\end{matrix}\right.\Rightarrow\left\{\begin{matrix}C_1+C_4=c\\C_1 C_4=\frac{e}{2}\\C_2+C_8=d\\C_2 C_8=\frac{f}{2}\\C_3+C_5=e\\C_3 C_5=\frac{d}{2}\\C_6+C_7=f\\C_6 C_7=\frac{c}{2}\end{matrix}\right.\Rightarrow \left\{\begin{matrix}C_1=\frac{c+\sqrt{c^2-2e}}{2}\\C_2=\frac{d+\sqrt{d^2-2f}}{2}\\C_3=\frac{e+\sqrt{e^2-2d}}{2}\\C_4=\frac{c-\sqrt{c^2-2e}}{2}\\C_5=\frac{e-\sqrt{e^2-2d}}{2}\\C_6=\frac{f+\sqrt{f^2-cd}}{2}\\C_7=\frac{f-\sqrt{f^2-cd}}{2}\\C_8=\frac{d-\sqrt{d^2-2f}}{2}\end{matrix}\right. ⎩ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎧ a = C 1 + C 2 + C 4 + C 8 b = C 3 + C 5 + C 6 + C 7 c = C 1 + C 4 d = C 2 + C 8 e = C 3 + C 5 f = C 6 + C 7 ⇒ ⎩ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎧ a + b = − 2 1 a b = − 1 c + d = a c d = − 4 1 e + f = b e f = − 4 1 ⇒ ⎩ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎧ a = 4 1 7 − 1 b = 4 − 1 7 − 1 c = 2 a + a 2 + 1 d = 2 a − a 2 + 1 e = 2 b + b 2 + 1 f = 2 b − b 2 + 1 ⇒ ⎩ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎧ C 1 + C 4 = c C 1 C 4 = 2 e C 2 + C 8 = d C 2 C 8 = 2 f C 3 + C 5 = e C 3 C 5 = 2 d C 6 + C 7 = f C 6 C 7 = 2 c ⇒ ⎩ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎧ C 1 = 2 c + c 2 − 2 e C 2 = 2 d + d 2 − 2 f C 3 = 2 e + e 2 − 2 d C 4 = 2 c − c 2 − 2 e C 5 = 2 e − e 2 − 2 d C 6 = 2 f + f 2 − c d C 7 = 2 f − f 2 − c d C 8 = 2 d − d 2 − 2 f
经过一番复杂的计算,我们得到:
cos ( 2 π 17 ) = C 1 = − 1 + 17 + 34 − 2 17 + 2 17 + 3 17 + 1 2 ( 17 − 1 ) 34 − 2 17 − 4 34 + 2 17 16 \cos(\frac{2\pi}{17})=C_1=\frac{-1+\sqrt{17}+\sqrt{34-2\sqrt{17}}+2\sqrt{17+3\sqrt{17}+\frac{1}{2}(\sqrt{17}-1)\sqrt{34-2\sqrt{17}}-4\sqrt{34+2\sqrt{17}}}}{16} cos ( 1 7 2 π ) = C 1 = 1 6 − 1 + 1 7 + 3 4 − 2 1 7 + 2 1 7 + 3 1 7 + 2 1 ( 1 7 − 1 ) 3 4 − 2 1 7 − 4 3 4 + 2 1 7
利用平方法可证明恒等式:1 2 ( 17 − 1 ) 34 − 2 17 − 4 34 + 2 17 = − 34 − 2 17 − 2 34 + 2 17 = − 170 − 38 17 \begin{aligned}&\frac{1}{2}(\sqrt{17}-1)\sqrt{34-2\sqrt{17}}-4\sqrt{34+2\sqrt{17}}\\=&-\sqrt{34-2\sqrt{17}}-2\sqrt{34+2\sqrt{17}}\\=&-\sqrt{170-38\sqrt{17}}\end{aligned} = = 2 1 ( 1 7 − 1 ) 3 4 − 2 1 7 − 4 3 4 + 2 1 7 − 3 4 − 2 1 7 − 2 3 4 + 2 1 7 − 1 7 0 − 3 8 1 7
请诸位思考一下该式子能否通过代数变形得到
代入之后做一番复杂的计算得:
{ C 1 = − 1 + 17 + 34 − 2 17 + 2 17 + 3 17 − 170 + 38 17 16 C 2 = − 1 + 17 − 34 − 2 17 + 2 17 + 3 17 + 170 + 38 17 16 C 3 = − 1 − 17 + 34 + 2 17 + 2 17 − 3 17 + 170 − 38 17 16 C 4 = − 1 + 17 + 34 − 2 17 − 2 17 + 3 17 − 170 + 38 17 16 C 5 = − 1 − 17 + 34 + 2 17 − 2 17 − 3 17 + 170 − 38 17 16 C 6 = − 1 − 17 − 34 + 2 17 + 2 17 − 3 17 − 170 − 38 17 16 C 7 = − 1 − 17 − 34 + 2 17 − 2 17 − 3 17 − 170 − 38 17 16 C 8 = − 1 + 17 − 34 − 2 17 − 2 17 + 3 17 + 170 + 38 17 16 \left\{\begin{matrix}C_1=\frac{-1+\sqrt{17}+\sqrt{34-2\sqrt{17}}+2\sqrt{17+3\sqrt{17}-\sqrt{170+38\sqrt{17}}}}{16}\\C_2=\frac{-1+\sqrt{17}-\sqrt{34-2\sqrt{17}}+2\sqrt{17+3\sqrt{17}+\sqrt{170+38\sqrt{17}}}}{16}\\C_3=\frac{-1-\sqrt{17}+\sqrt{34+2\sqrt{17}}+2\sqrt{17-3\sqrt{17}+\sqrt{170-38\sqrt{17}}}}{16}\\C_4=\frac{-1+\sqrt{17}+\sqrt{34-2\sqrt{17}}-2\sqrt{17+3\sqrt{17}-\sqrt{170+38\sqrt{17}}}}{16}\\C_5=\frac{-1-\sqrt{17}+\sqrt{34+2\sqrt{17}}-2\sqrt{17-3\sqrt{17}+\sqrt{170-38\sqrt{17}}}}{16}\\C_6=\frac{-1-\sqrt{17}-\sqrt{34+2\sqrt{17}}+2\sqrt{17-3\sqrt{17}-\sqrt{170-38\sqrt{17}}}}{16}\\C_7=\frac{-1-\sqrt{17}-\sqrt{34+2\sqrt{17}}-2\sqrt{17-3\sqrt{17}-\sqrt{170-38\sqrt{17}}}}{16}\\C_8=\frac{-1+\sqrt{17}-\sqrt{34-2\sqrt{17}}-2\sqrt{17+3\sqrt{17}+\sqrt{170+38\sqrt{17}}}}{16}\\\end{matrix}\right. ⎩ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎧ C 1 = 1 6 − 1 + 1 7 + 3 4 − 2 1 7 + 2 1 7 + 3 1 7 − 1 7 0 + 3 8 1 7 C 2 = 1 6 − 1 + 1 7 − 3 4 − 2 1 7 + 2 1 7 + 3 1 7 + 1 7 0 + 3 8 1 7 C 3 = 1 6 − 1 − 1 7 + 3 4 + 2 1 7 + 2 1 7 − 3 1 7 + 1 7 0 − 3 8 1 7 C 4 = 1 6 − 1 + 1 7 + 3 4 − 2 1 7 − 2 1 7 + 3 1 7 − 1 7 0 + 3 8 1 7 C 5 = 1 6 − 1 − 1 7 + 3 4 + 2 1 7 − 2 1 7 − 3 1 7 + 1 7 0 − 3 8 1 7 C 6 = 1 6 − 1 − 1 7 − 3 4 + 2 1 7 + 2 1 7 − 3 1 7 − 1 7 0 − 3 8 1 7 C 7 = 1 6 − 1 − 1 7 − 3 4 + 2 1 7 − 2 1 7 − 3 1 7 − 1 7 0 − 3 8 1 7 C 8 = 1 6 − 1 + 1 7 − 3 4 − 2 1 7 − 2 1 7 + 3 1 7 + 1 7 0 + 3 8 1 7
所以 C 1 , C 2 , . . . , C 8 C_1,C_2,...,C_8 C 1 , C 2 , . . . , C 8 是八次不可约多项式方程的根,故正十七边形可作
三、作图方法
事实上,刚才的证明过程中包含了作图方法,步骤如下:
(1)作直角三角形ACB,两条直角边长分别为 1 , 1 4 1,\frac{1}{4} 1 , 4 1 ,则斜边 A B = 17 4 AB=\frac{\sqrt{17}}{4} A B = 4 1 7 ,以 A A A 为圆心 A C AC A C 为半径画圆,交 A B AB A B 于点 P P P ,交 B A BA B A 延长线于点 Q Q Q ,则 B P = a , B Q = − b BP=a,BQ=-b B P = a , B Q = − b
(2)作直角三角形 A C B ACB A C B ,两条直角边长分别为 1 , a 2 1,\frac{a}{2} 1 , 2 a ,则斜边 A B = a 2 + 1 2 AB=\frac{\sqrt{a^2+1}}{2} A B = 2 a 2 + 1 ,以 A A A 为圆心 A C AC A C 为半径画圆,交 A B AB A B 于点 P P P ,交 B A BA B A 延长线于点 Q Q Q ,则 B P = − d , B Q = c BP=-d,BQ=c B P = − d , B Q = c
(3)作直角三角形 A C B ACB A C B ,两条直角边长分别为 1 , − b 2 1,-\frac{b}{2} 1 , − 2 b ,则斜边 A B = b 2 + 1 2 AB=\frac{\sqrt{b^2+1}}{2} A B = 2 b 2 + 1 ,以 A A A 为圆心 A C AC A C 为半径画圆,交 A B AB A B 于点 P P P ,交 B A BA B A 延长线于点 Q Q Q ,则 B P = − f , B Q = e BP=-f,BQ=e B P = − f , B Q = e
(4)作线段 A C = − d 2 AC=-\frac{d}{2} A C = − 2 d ,延长 A C AC A C 到点 B B B ,使得 C B = 1 CB=1 C B = 1 ,取 A B AB A B 中点 O O O ,以 O O O 为圆心,O A OA O A 为半径作圆,过 C C C 作 A B AB A B 的垂线,交圆于点 D D D ,则 C D = − d 2 CD=\sqrt{-\frac{d}{2}} C D = − 2 d
(5)作直角三角形 A C B ACB A C B ,两条直角边长分别为 e , − d 2 e,-\frac{d}{2} e , − 2 d ,则斜边 A B = e 2 − 2 d 2 AB=\frac{\sqrt{e^2-2d}}{2} A B = 2 e 2 − 2 d ,以 A A A 为圆心 A C AC A C 为半径画圆,交 A B AB A B 于点 P P P ,交 B A BA B A 延长线于点 Q Q Q ,则 B P = − C 5 , B Q = C 3 BP=-C_5,BQ=C_3 B P = − C 5 , B Q = C 3
(6)作单位圆 O O O ,任取一条半径 O A OA O A ,在 O A OA O A 上截取 O B = C 3 OB=C_3 O B = C 3 ,过 B B B 作 O A OA O A 的垂线交单位圆与点 P P P ,则 P P P 为正十七边形的第三个分点,以 P P P 为圆心,P A PA P A 为半径画弧交单位圆与第 6 6 6 个分点,以此类推,可得第 3 , 6 , 9 , 12 , 15 , 1 , 4 , 7 , 10 , 13 , 16 , 2 , 5 , 8 , 11 , 14 , 17 3,6,9,12,15,1,4,7,10,13,16,2,5,8,11,14,17 3 , 6 , 9 , 1 2 , 1 5 , 1 , 4 , 7 , 1 0 , 1 3 , 1 6 , 2 , 5 , 8 , 1 1 , 1 4 , 1 7 分点,连线即得正十七边形
四、参考文献
《有趣的数论名题》——周从尧
《正十七边形尺规作图证明复数解法》——李孝民