引言

上一篇的连分数主要也只是一个科普内容,还有一些内容不便于放在上篇里边,于是加在本文中.

由于本文并不像上一篇那样会面向学高数的同学,因此本文不会那么通俗,而是会比较严肃一点.

Pell方程

形如x2dy2=±1x^2-dy^2=\pm 1的二元二次不定方程便称为佩尔(Pell)方程,其中dd为不含平方因子的正整数(毕竟我们要研究的是Pell方程的所有有理整数解).

最早碰到这个问题还是高中阶段,兜兜转转又要面对它了,而且还有可能出现在我初等数论的考试中😫.当初面对的还只是x22y2=1x^2-2y^2=1这种比较仁慈的Pell方程的解(恶心的下面马上就能见到了),但是我也只是计算机枚举法求出的几个特殊值,还是算法代师Anon Xau通过"神经网络深入学习"总结出来了递推公式orz.

但是!过去软糯的我已经死啦!现在是更软糯的我!拥有代数数论和连分数知识的我已经无往不利了!

利用代数数论的知识能够得到Pell方程解的结构,而利用连分数这个利器,求解这类一般的Pell方程已经成一个消磨时间的打趣罢了.

Pell方程解的结构

Dirichlet单位定理

在代数数论中,有如下事实:

定理1(Dirichlet单位定理):KKnn次数域,KKC\mathbb{C}中有r1r_1个实嵌入,有r2r_2对复嵌入,则:
KK中单位群Uk=WK×VKU_k=W_K \times V_K,其中WKW_K是单位根群,VKV_K是秩为r=r1+r21r=r_1+r_2-1的自由Abel群.

其中单位群UKU_KOK\mathcal{O}_K的可逆元的集合,而WKW_KVKV_K就是定理中所说的含义.

并且由定理条件可知,存在元素γK\gamma\in K,使得K=Q(γ)K=Q(\gamma).且可知γ\gammaQ\mathbb{Q}上的极小多项式f(x)f(x)也一定是nn次多项式.所以在C\mathbb{C}中有f(x)=α(xγ1)(xγ2)(xγn)f(x)=\alpha(x-\gamma_1)(x-\gamma_2)\cdots(x-\gamma_n).于是KKC\mathbb{C}中的嵌入则由γi\gamma_i确定,即:

σi:K=Q(γ)Q(γi)C\sigma_i:K=\mathbb{Q}(\gamma)\to\mathbb{Q}(\gamma_i)\hookrightarrow\mathbb{C}

因此,若γi\gamma_i为实(复)数,则称σi\sigma_i为实(复)嵌入.

回到Pell方程x2dy2=±1x^2-dy^2=\pm 1,我们考虑实二次域K=Q(d)K=\mathbb{Q}(\sqrt{d}),因此Pell方程的有理整数解即为OK\mathcal{O}_K中范数为±1\pm 1的元素.而根据Dirichlet单位定理可知,实二次域的单位群UK={±εnnZ}U_K=\{\pm \varepsilon^n | n\in\mathbb{Z}\}(因为秩为11),其中ε\varepsilon也被称作KK的基本单位(一般取大于11的那个,毕竟只差正负号而已).

由于OQ(d)\mathcal{O}_{\mathbb{Q}(\sqrt{d})}的结构与dd有着直接的关系,因此以下需要对不同的dd来讨论Pell方程的解的结构.

d2,3 (mod 4)d \equiv 2,3\ (\textrm{mod}\ 4)的情况

这种情况一般而言比较简单,因为OQ(d)=Z[d]\mathcal{O}_{\mathbb{Q}(\sqrt{d})}=\mathbb{Z}[\sqrt{d}].因此我们知道ε=a+bd(a,bZ)\varepsilon=a+b\sqrt{d}(a,b\in\mathbb{Z})的形式.然后再根据N(ε)N(\varepsilon)取值是11还是1-1进行分类讨论即可.因此我们可以得到以下的定理(虽然感觉作为定理还不够强,但是无所谓了,反正在这里是由我做主!).

定理2:d2,3 (mod 4)d\equiv 2,3\ (\textrm{mod}\ 4)时,设ε=a+bd>1\varepsilon=a+b\sqrt{d}>1K=Q(d)K=\mathbb{Q}(\sqrt{d})的基本单位,令an+bnd:=(a+bd)na_n+b_n\sqrt{d}:=(a+b\sqrt{d})^n.

(1) 如果N(ε)=1N(\varepsilon)=1:

\quad a. x2dy2=1x^2-dy^2=-1不存在有理整数解.

\quad b. x2dy2=1x^2-dy^2=1的有理整数解为{(±an,±bn)nZ}\{(\pm a_n,\pm b_n) | n\in \mathbb{Z}\}.

(2) 如果N(ε)=1N(\varepsilon)=-1:

\quad a. x2dy2=1x^2-dy^2=-1的有理整数解为{(±a2n+1,±b2n+1)nZ}\{(\pm a_{2n+1},\pm b_{2n+1}) | n\in \mathbb{Z}\}.

\quad b. x2dy2=1x^2-dy^2=1的有理整数解为{(±a2n,±b2n)nZ}\{(\pm a_{2n},\pm b_{2n}) | n\in \mathbb{Z}\}.

当然对于另一种情况也是类似的考虑,只不过需要多转一个弯而已,比起其他代数里面的"一个弯",这个简直可以说是友好至极了🤠.

d1 (mod 4)d \equiv 1\ (\textrm{mod}\ 4)的情况

在这种情况下,OQ(d)=Z[(d+1)/2]\mathcal{O}_{\mathbb{Q}(\sqrt{d})}=\mathbb{Z}[(\sqrt{d}+1)/2],因此KK中的整数都只能表示为(a+bd)/2, ab (mod 2)(a+b\sqrt{d})/2,\ a\equiv b\ (\textrm{mod}\ 2)的形式.

从而ε=(a+bd)/2\varepsilon=(a+b\sqrt{d})/2K=Q(d)K=\mathbb{Q}(\sqrt{d})中的单位,等价于a2db2=±4a^2-db^2=\pm 4.

因此便有了和前一种情况的第一处不同,此处应该令an+bnd:=2εna_n+b_n\sqrt{d}:=2\varepsilon^n,首先得到得到的也是x2dy2=±4x^2-dy^2=\pm 4的有理整数解的结构:

引理1:d1 (mod 4)d\equiv 1\ (\textrm{mod}\ 4)时,设ε=12(a+bd)>1\varepsilon=\dfrac{1}{2}(a+b\sqrt{d})>1K=Q(d)K=\mathbb{Q}(\sqrt{d})的基本单位,令12(an+bnd):=εn\dfrac{1}{2}(a_n+b_n\sqrt{d}):=\varepsilon^n.

(1) 如果N(ε)=1N(\varepsilon)=1:

\quad a. x2dy2=4x^2-dy^2=-4不存在有理整数解.

\quad b. x2dy2=4x^2-dy^2=4的有理整数解为{(±an,±bn)nZ}\{(\pm a_n,\pm b_n) | n\in \mathbb{Z}\}.

(2) 如果N(ε)=1N(\varepsilon)=-1:

\quad a. x2dy2=4x^2-dy^2=-4的有理整数解为{(±a2n+1,±b2n+1)nZ}\{(\pm a_{2n+1},\pm b_{2n+1}) | n\in \mathbb{Z}\}.

\quad b. x2dy2=4x^2-dy^2=4的有理整数解为{(±a2n,±b2n)nZ}\{(\pm a_{2n},\pm b_{2n}) | n\in \mathbb{Z}\}.

可以发现的是,该引理和定理2是高度相似的,也只有ana_nbnb_n构造方式上的一点点不同(而其他地方我甚至都是把定理2直接copy过来的).

因此,对于x2dy2=±1x^2-dy^2=\pm 1问题的有理整数解而言,现在也只差凌门一脚了.而这也是和前一种情况的第二处不同,即我们需要考虑基本单位ε=(a+bd)/2\varepsilon=(a+b\sqrt{d})/2aabb的奇偶性(但两者奇偶性相同,因此讨论的情况也并不多).

定理3:d1 (mod 4)d\equiv 1\ (\textrm{mod}\ 4)时,设ε=12(a+bd)>1\varepsilon=\dfrac{1}{2}(a+b\sqrt{d})>1K=Q(d)K=\mathbb{Q}(\sqrt{d})的基本单位,令12(an+bnd):=εn\dfrac{1}{2}(a_n+b_n\sqrt{d}):=\varepsilon^n.

(1) 如果N(ε)=1N(\varepsilon)=1:

\quad a. x2dy2=1x^2-dy^2=-1不存在有理整数解.

\quad b1b_1. 如果ab0 (mod 2)a\equiv b\equiv 0\ (\textrm{mod}\ 2),则:

的有理整数解为

\quad b2b_2. 如果ab1 (mod 2)a\equiv b\equiv 1\ (\textrm{mod}\ 2),则:

的有理整数解为

(2) 如果N(ε)=1N(\varepsilon)=-1:

\quad a1a_1. 如果ab0 (mod 2)a\equiv b\equiv 0\ (\textrm{mod}\ 2),则:

的有理整数解为

\quad a2a_2. 如果ab1 (mod 2)a\equiv b\equiv 1\ (\textrm{mod}\ 2),则:

的有理整数解为

\quad b1b_1. 如果ab0 (mod 2)a\equiv b\equiv 0\ (\textrm{mod}\ 2),则:

的有理整数解为

\quad b2b_2. 如果ab1 (mod 2)a\equiv b\equiv 1\ (\textrm{mod}\ 2),则:

的有理整数解为

这个定理看上去比较吓人,但实际上也确实比较吓人了.其中3n3n的操作实际上就是将1/21/2消去,从而得到有理整数解.其实如果对代数数论的概念比较熟悉之后,以上两个定理都还是比较容易理解的了.

基本单位的大小估计

上面只得到了Pell方程解的结构,虽然已经可以通过手动改变yy的值,来找到K=Q(d)K=\mathbb{Q}(\sqrt{d})的基本单位.但是有可能遇到以下情况:Q(97)\mathbb{Q}(\sqrt{97})的基本单位为ε97=62809633+637735297\varepsilon_{97}=62809633+6377352\sqrt{97},这要一个一个一个一个yy去试可能真会趋势了.实际上9797还并不是最恶心的一个,6161才是,Q(61)\mathbb{Q}(\sqrt{61})的基本单位是1766319049+22615398061=3.5326×1091766319049+226153980\sqrt{61}=3.5326\cdots\times 10^9.

事实上,对该问题基本单位的上界的估计也是有一些结果的.而最后的估计式由华罗庚给出:

hKlogεd<12dlogd+d  (K=Q(d))h_K\cdot\log\varepsilon_d<\frac{1}{2}\sqrt{d}\log d+\sqrt{d}\ \ (K=\mathbb{Q}(\sqrt{d}))

其中logεd\log\varepsilon_d即为KK的regulator,hKh_K即为KK的类数,故hK1h_K\ge 1.(这些内容忘得差不多了😥,之后也写一篇才行!)

d=61d=61,得到logε61<1261log61+61=23.8637\log\varepsilon_{61}<\dfrac{1}{2}\sqrt{61}\log 61+\sqrt{61}=23.8637\cdots,即ε61<2.3114×1010\varepsilon_{61}<2.3114\cdots\times 10^{10}.因此对于确定基本单位的大小仍然是一个很复杂的课题.但是也有特殊情况,其基本单位很简单:

d=t2+4(tZ)d=t^2+4(t\in\mathbb{Z})无平方因子,则Q(d)\mathbb{Q}(\sqrt{d})的基本单位为ε=12(t+t2+4)\varepsilon=\frac{1}{2}(t+\sqrt{t^2+4}).

d=t24(tZ5)d=t^2-4(t\in\mathbb{Z}_{\ge 5})无平方因子,则Q(d)\mathbb{Q}(\sqrt{d})的基本单位为ε=12(t+t24)\varepsilon=\frac{1}{2}(t+\sqrt{t^2-4}).

利用连分数求基本单位

PkP_kQkQ_k

在上一篇中介绍有LagrangeLagrange定理,即:

定理4(Lagrange定理): 循环连分数和二次无理数是一一对应的.

在Fatfish提供的证明二中,引入了两个新的符号PkP_kQkQ_k,对我们后续的计算中更方便.以下直接记录下符号的意义,省去了推导过程.

\quaddd是一个无平方因子的正整数,它的连分数展开如下:

d=[a0;a1,a2,]=[a0;a1,a2,,ak1,rk]\sqrt{d}=[a_0;a_1,a_2,\cdots]=[a_0;a_1,a_2,\cdots,a_{k-1},r_k]

\quadrkr_k也是循环连分数,从而也是二次无理数,实际上也和d\sqrt{d}有关,即我们可以记:

rk=Pk+dQkr_k = \dfrac{P_k+\sqrt{d}}{Q_k}

\quad 当然,因为rk=[ak,rk+1]=ak+1rk+1r_k=[a_k,r_{k+1}]=a_k+\frac{1}{r_{k+1}},我们也可以推出关于{Pk}\{P_k\}{Qk}\{Q_k\}的递推式.即:

Pk+1=akQkPk2P_{k+1}=a_k Q_k - P_k^2

Qk+1=DPk2Qk+ak2Qk2akPkQ_{k+1} = \dfrac{D-P_k^2}{Q_k}+a_k^2Q_k-2a_kP_k

(但是看这推导式,不如不看.)总之在最后计算基本单位的时候,我们也只是用到了连分数展开的第一个循环而已,因此手撕就差不多够了,即使是61这个数(Fermat自己说是比较人性化的选了个比较小的数).

例如:

7=[2;r1]where r1=2+73=[2;1,r2]where r2=1+72=[2;1,1,r3]where r3=1+73=[2;1,1,1,r4]where r4=2+71=[2;1,1,1,4,r5]where r5=2+73=[2;1,1,1,4]\begin{align} \sqrt{7} & = [2;r_1] & where\ r_1 = \dfrac{2+\sqrt{7}}{3} \\\\ & = [2;1,r_2] & where\ r_2 = \dfrac{1+\sqrt{7}}{2} \\\\ & = [2;1,1,r_3] & where\ r_3 = \dfrac{1+\sqrt{7}}{3} \\\\ & = [2;1,1,1,r_4] & where\ r_4 = \dfrac{2+\sqrt{7}}{1} \\\\ & = [2;1,1,1,4,r_5] & where\ r_5 = \dfrac{2+\sqrt{7}}{3} \\\\ & = [2;\overline{1,1,1,4}] \end{align}

通过这种暴力手撕的方式,我们也能够得到PkP_kQkQ_k的值了.但我们也只需要一个循环里的值就够了.

基本单位的确定

以下两个定理,能够说明Pell方程的有理整数解和连分数的渐近分数之间的关系:

定理5:x2dy2=sx^2-dy^2=s,其中s<d|s|<\sqrt{d},则xy\dfrac{x}{y}一定是d\sqrt{d}的渐近分数.

定理6:d\sqrt{d}的渐近分数为pkqk\dfrac{p_k}{q_k},则pk2dqk2=(1)k+1Qk+1p_k^2-dq_k^2 = (-1)^{k+1}Q_{k+1}.即N(pk+qkd)=Qk+1|N(p_k+q_k\sqrt{d})|=Q_{k+1}.

那么我们确定基本单位的方法基本上已经很明确了:

\quad 对于Pell方程x2dy2=1x^2-dy^2=1而言(1-1也是同样的方法):

\quad 先计算出d\sqrt{d}的连分数展开和一个循环.

\quad 然后计算得到PkP_kQkQ_k的值.着重观察的是Qk=1Q_k=1的情况,即范数等于±1\pm 1的一个单位(而且就是基本单位).

\quad 然后利用定理2或者定理3得到Pell方程的所有解.

例如: 对于x27y2=1x^2-7y^2=1而言,发现Q4=1Q_4=1,且[2;1,1,1]=83[2;1,1,1]=\dfrac{8}{3}.因此我们得到了一个范数为(1)4=1(-1)^4=1的基本单位8+378+3\sqrt{7},最后使用定理2即可.

最后来看一下Fermat所选取的两个比较人性化的数61和109到底有何特别之处,让我们先对61\sqrt{61}109\sqrt{109}进行连分数展开:

61=[7;1,4,3,1,2,2,1,3,4,1,14]\sqrt{61} = [7;\overline{1,4,3,1,2,2,1,3,4,1,14}]

这里展开的循环节足足11位!而还有糕手!109更是重量级!它的循环节有15位!

109=[10;2,3,1,2,4,1,6,6,1,4,2,1,3,2,20]\sqrt{109} = [10;\overline{2,3,1,2,4,1,6,6,1,4,2,1,3,2,20}]

因此这两个数对应的Pell方程的超大的基本单位,就能从这两个连分数展开中窥见一斑.因此Fermat这个糟老头子信不了一点.🤬

从19号开始写到25号写完本文,而且最后连分数里边还有一些内容被我很快的跳过去了,比如Legender判别准则来判断渐近分数,Liouville超越数这种十分逼近有理数的数,以及太超前的辛钦定理.这些内容之后可以再回过头来看一看,还是很神奇的.

参考资料

[1] 冯克勤.代数数论[M].哈尔滨:哈尔滨工业大学出版社,2018

参考第三章2.2节-实二次域的基本单位,Pell方程

[2] FatFish.连分数入门[Z]:超理论坛.https://chaoli.club/index.php/2756?see_lz=1

又是FatFish的帖子,主要参考3.2-Lagrange定理以及3.5-Pell方程