永垂不朽的正十七边形

一、引言

正十七边形尺规作图问题的解决纯属一场意外。

天才数学家高斯某一天接到了这道作业题,第二天,熬了一晚上的高斯不好意思地对老师说:

辜负了您的期望,我花了一晚上才把题目做出来。

老师接过手稿大吃一惊,这本是自己的研究课题,一个2000多年来未解决的难题,居然被十九岁的高斯一个晚上解决了!

后来经过一番研究,高斯对正 nn 边形的尺规作图问题给出了完美的解答。


二、正十七边形的可作性

1、问题的转化

代数数与超越数一文中,我谈到了尺规作图问题就是作实数的问题

其实作正十七边形,相当于作 cos(2π17)\cos(\frac{2\pi}{17})

试想我们现在有单位圆,只需在半径上作出 cos(2π17)\cos(\frac{2\pi}{17}),然后再作垂线就能作出角 2π17\frac{2\pi}{17}

2、挖掘性质

我们考虑方程 x171=0x^{17}-1=0,它的解为 1717 次单位复数根xn=cos(2nπ17)+isin(2nπ17)x_n=\cos(\frac{2n\pi}{17})+i\sin(\frac{2n\pi}{17})

设这 1717 个根分别为 x0,x1,...,x16x_0,x_1,...,x_{16},根据韦达定理有:

x0+x1++x16=0x_0+x_1+\cdots+x_{16}=0

Cn=cos(2nπ17)C_n=\cos(\frac{2n\pi}{17}),则

xk+x17k=2cos(2kπ17)=2Ckx_k+x_{17-k}=2\cos(\frac{2k\pi}{17})=2C_k

x0=1x_0=1,故

C1+C2++C8=12C_1+C_2+\cdots+C_8=-\frac{1}{2}

根据积化和差公式,可以得到

Cmn=12(Cm+Cn)C_{mn}=\frac{1}{2}(C_{m}+C_{n})

根据诱导公式,可以得到

Ck=C17kC_{k}=C_{17-k}

3、分而治之

我们考虑将 C1,C2,,C8C_1,C_2,\ldots,C_8 分成两组,分别计算出和的值

比如令

{C1+C3+C5+C7=aC2+C4+C6+C8=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.

a+b=12a+b=-\frac{1}{2},只要通过上面的性质计算出 abab 的值就能通过解方程分别计算出 a,ba,b

然后再将 a,ba,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;
}

结果如下:

我们发现第九行的分组能保证结果中所有系数相等,故令

{C1+C2+C4+C8=aC3+C5+C6+C7=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.

得到

ab=2(C1+C2+C3+C4+C5+C6+C7+C8)=1ab=2(C_1+C_2+C_3+C_4+C_5+C_6+C_7+C_8)=-1

因此 a,ba,b 是方程 x2+12x1=0x^2+\frac{1}{2}x-1=0 的根,且 a>0,b<0a>0,b<0,故

{a=1714b=1714\left\{\begin{matrix}a=\frac{\sqrt{17}-1}{4}\\b=\frac{-\sqrt{17}-1}{4}\end{matrix}\right.

4、繁杂的计算

{a=C1+C2+C4+C8b=C3+C5+C6+C7c=C1+C4d=C2+C8e=C3+C5f=C6+C7{a+b=12ab=1c+d=acd=14e+f=bef=14{a=1714b=1714c=a+a2+12d=aa2+12e=b+b2+12f=bb2+12{C1+C4=cC1C4=e2C2+C8=dC2C8=f2C3+C5=eC3C5=d2C6+C7=fC6C7=c2{C1=c+c22e2C2=d+d22f2C3=e+e22d2C4=cc22e2C5=ee22d2C6=f+f2cd2C7=ff2cd2C8=dd22f2\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.

经过一番复杂的计算,我们得到:

cos(2π17)=C1=1+17+34217+217+317+12(171)34217434+21716\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}

利用平方法可证明恒等式:12(171)34217434+217=34217234+217=1703817\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}

请诸位思考一下该式子能否通过代数变形得到

代入之后做一番复杂的计算得:

{C1=1+17+34217+217+317170+381716C2=1+1734217+217+317+170+381716C3=117+34+217+217317+170381716C4=1+17+34217217+317170+381716C5=117+34+217217317+170381716C6=11734+217+217317170381716C7=11734+217217317170381716C8=1+1734217217+317+170+381716\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.

所以 C1,C2,...,C8C_1,C_2,...,C_8 是八次不可约多项式方程的根,故正十七边形可作


三、作图方法

事实上,刚才的证明过程中包含了作图方法,步骤如下:

(1)作直角三角形ACB,两条直角边长分别为 1,141,\frac{1}{4},则斜边 AB=174AB=\frac{\sqrt{17}}{4},以 AA 为圆心 ACAC 为半径画圆,交 ABAB 于点 PP,交 BABA 延长线于点 QQ,则 BP=a,BQ=bBP=a,BQ=-b

(2)作直角三角形 ACBACB,两条直角边长分别为 1,a21,\frac{a}{2},则斜边 AB=a2+12AB=\frac{\sqrt{a^2+1}}{2},以 AA 为圆心 ACAC 为半径画圆,交 ABAB 于点 PP,交 BABA 延长线于点 QQ,则 BP=d,BQ=cBP=-d,BQ=c

(3)作直角三角形 ACBACB,两条直角边长分别为 1,b21,-\frac{b}{2},则斜边 AB=b2+12AB=\frac{\sqrt{b^2+1}}{2},以 AA 为圆心 ACAC 为半径画圆,交 ABAB 于点 PP,交 BABA 延长线于点 QQ,则 BP=f,BQ=eBP=-f,BQ=e

(4)作线段 AC=d2AC=-\frac{d}{2},延长 ACAC 到点 BB,使得 CB=1CB=1,取 ABAB 中点 OO,以 OO 为圆心,OAOA 为半径作圆,过 CCABAB 的垂线,交圆于点 DD,则 CD=d2CD=\sqrt{-\frac{d}{2}}

(5)作直角三角形 ACBACB,两条直角边长分别为 e,d2e,-\frac{d}{2},则斜边 AB=e22d2AB=\frac{\sqrt{e^2-2d}}{2},以 AA 为圆心 ACAC 为半径画圆,交 ABAB 于点 PP,交 BABA 延长线于点 QQ,则 BP=C5,BQ=C3BP=-C_5,BQ=C_3

(6)作单位圆 OO,任取一条半径 OAOA,在 OAOA 上截取 OB=C3OB=C_3,过 BBOAOA 的垂线交单位圆与点 PP,则 PP 为正十七边形的第三个分点,以 PP 为圆心,PAPA 为半径画弧交单位圆与第 66 个分点,以此类推,可得第 3,6,9,12,15,1,4,7,10,13,16,2,5,8,11,14,173,6,9,12,15,1,4,7,10,13,16,2,5,8,11,14,17 分点,连线即得正十七边形


四、参考文献

《有趣的数论名题》——周从尧

《正十七边形尺规作图证明复数解法》——李孝民