【数学笔记】Pell方程 难度:ACM/NOI拓展/CMO

注:

1.本文中所涉及到的link,部分可能未施工完毕(本人是csdn萌新),但已有写作计划,请见谅

update1.0 :经笔者本人思考,添加了一些动机解释,发现只要熟练掌握初等数论工具,对Pell 方程的研究并没有那么困难,希望能够帮助到大家。


所谓Pell方程,是一类特殊的二次不定方程,形如:

x^2-Dy^2=1, D\in \mathbb Z_{+}

而我们关心它的整数解。

看到Pell方程的形式后,我们对其展开如下的初步研究:

1. 代入 D=1 , 可以做一个因式分解:

x^2-y^2=(x+y)(x-y)=1

从而 x-y=x+y=\pm 1 \Rightarrow x=\pm1,y=0

我们想到,当D为任意完全平方数时,方程仍然只有如上的平凡解。于是我们关心当D不为完全平方数时,非平凡解的情况。

定理一:Pell 方程必有非平凡解,当  \sqrt D \notin \mathbb Z 时。

对于这个定理,笔者能力有限,恐怕不能给出证明,据说运用到高等方法。不过我们可能可以运用 【数学笔记】模合数的二次剩余 理论尝试搞定这种情形下的 x^2。(待研究)

Pell 方程之所以独特而有趣,源自于其解的分布特征。我们继续进行探索,利用C++计算D=2,3,5时的前四组解 

D235
(x_0,y_0)3 22 19 4
(x_1,y_1)17 127 4161 72
(x_2,y_2)99 7026 152889 1292
(x_3,y_3)577 40897 5651841 23184

                                                             表1 Pell方程的一些正整数解

这使得我们发现一些性质,如:

性质1.将原方程变形为 x=\sqrt{Dy^2+1} ,得到当x充分大时,\frac{x}{y} \approx \sqrt{D} ,换句话说,Pell 方程中的解可以构成 \sqrt D 不错的有理近似.

性质2.x和y保持“单调性”,即对任意的解 (x_0,y_0),不存在解(x,y) s.t. x<x_0,y\geq y_0

性质3.Pell 方程在\sqrt D \notin \mathbb Z时,左侧具有一定的混乱度,可能具有无穷多组解

由2不难推导如下的定义和性质:

定义1 :称使得 x_0+\sqrt{D} y_0 最小的一组解(x_0,y_0) 为Pell 方程的基本解。

定理2:对所有的解(x,y),有x\geq x_0, y\geq y_0

同时,由【数学笔记】一个精彩的想法与Newton迭代法之间的联系,我们曾经在无聊时尝试将(\sqrt2-1)不断平方,得到:

3-2\sqrt2,17-12\sqrt2,577-408\sqrt2

并试图用 1,\frac{3}{2},\frac{17}{12},\frac{577}{408},...来逼近\sqrt2,并发现我们计算出的数列恰巧是使用Newton迭代法得到的如下数列:

x_1=1,x_n=\frac{x_{n-1}+\frac{2}{x_{n-1}}}{2}

当时的这个想法在这里居然还起到了作用,因为这组数恰好对应于表1中的第1,2,4组解。因此我们容易看到如下的猜想是自然的:

定理3:记x-y\sqrt{D}=(x_0-y_0\sqrt{D})^n ...(*),则Pell方程所有的解由所有可能的(x,y)生成。

分析:首先,我们尝试验证结论:这个定理在表1中成立,于是我们着手证明。

这个命题分为两方面:1.(x,y)是Pell方程的解;2.所有可能的解对应于一组(x,y)。先考虑较为简单的1。上述的讨论和经验为我们打开了思路。考虑使用数学归纳法,去证引理3.1:

若 (x_1,y_1),(x_2,y_2) 是Pell方程的解,则

x=x_1x_2+Dy_1y_2,y=x_1y_2+x_2y_1

使得 x-y\sqrt{D}=(x_1-y_1\sqrt{D})(x_2-y_2\sqrt{D})

是Pell方程的一组解。

(update1.1:事实上,这个性质类似于 若a \in S, b \in S \Rightarrow a+b \in S 的群结构,值得我们高度重视“逆元”“带余除法”,并且由这个性质可以推导出很多很多Pell 方程的解,这也为我们下文中的无穷递降法做了铺垫。)

略证3.1:

\quad x^2-Dy^2 \\ =x_1^2x_0^2+D^2y_1^2y_0^2+2Dx_1y_1x_0y_0-Dy_1^2x_0^2-Dx_1^2y_0^2-2Dx_1y_1x_0y_0 \\ =(x_0^2-Dy_0^2)(x_1^2-Dy_1^2) \\ =1

即证。

接下来考虑2,这是一个非常困难的问题,不过我们仍然可以解决它。用反证法,假设x^2-Dy^2=1 ,但(x,y)不可以表示为上述的形式,考察工具箱中的工具:

1.(*)中涉及到了基本解,它是由极端原理构造得到的。我们可以尝试使用“无穷递降法”导出矛盾。

2.(*)中涉及到了x+\sqrt{D}y的形式,那么我们可以使用“共轭根式”的结论。

3.基于Newton迭代法的联想,我们也许可以制造关于x-\sqrt D y的不等式来运用无穷递降法。

(update1.2:这里使用的三点工具有些零碎,解析的动机不足以令人满意。更系统的思路是结合update1中的内容,见下文)

略证3.2:

由 x_0-\sqrt{D}y_0=\frac{1}{x_0+\sqrt{D}y_0} \in (0,1)

知存在 r \in \mathbb Z_{+},

(x_0-\sqrt{D}y_0)^{r+1}<x-y\sqrt{D}<(x_0-\sqrt{D}y_0)^r

(update1.3:这里利用了类似带余除法的方法。

例如,p是最小的具有性质f的数,想要证所有具有性质f的数被p整除。这就类似于用“基本解”p导出所有解x。

若x不被p整除,作带余除法x=pr+s,证明s具有性质f,导出矛盾)

即  x_0-\sqrt{D}y_0<\frac{x-y\sqrt{D}}{(x_0-y_0\sqrt{D})^r}<1  。

这里我们将等式左边带上了x_0-\sqrt{D}y_0

又:  \frac{x-y\sqrt{D}}{(x_0-y_0\sqrt{D})^r}=(x-y\sqrt{D})(x_0+y_0\sqrt{D})^r=X-Y\sqrt{D} (X,Y \in \mathbb Z)

X^2-DY^2=(X-Y\sqrt{D})(X+Y\sqrt{D})=(x-y\sqrt{D})(x_0+y_0\sqrt{D})^r(x+y\sqrt{D})(x_0-y_0\sqrt{D})^r=1

结合  0<x_0-y_0\sqrt{D}<X-Y\sqrt{D}<1 ,知 1<X+Y\sqrt{D}<x_0+y_0\sqrt{D},由性质2,知(X,Y)为Pell 方程的一组比(x_0,y_0)更小的非平凡解,矛盾。

(update 1.4:此处还有一种方法,利用引理3.1结合若 (x,y)是Pell 方程的一组解,则(x,-y)是Pell 方程的一组解,直接得到(X,Y)是Pell 方程的一组解。)

由上,定理3证毕。

现在,我们将定理三的解的形式改造为时间复杂度 O(n) 的递推式:

定理4:Pell方程的第n个解(n \geq 1)为:

x_n=x_{n-1}x_0+Dy_{n-1}y_0,y_n=x_{n-1}y_0+y_{n-1}x_0

然而,这是一个\{x_n\} , \{y_n\}“相互作用”的递推式,虽然在算法理论上并不影响求解的时间复杂度,但我们可以再研究一下这个式子,把它改造成一个x_n“看上去”只与x_1,x_2,...,x_{n-1}有关的式子,这里我们将x_0,y_0视作已知常数。

从另一个角度出发,我们再次运用共轭根式的结果:

x_n=\frac{1}{2}((x_0-\sqrt{D}y_0)^{n+1}+(x_0+\sqrt{D}y_0)^{n+1})

看到这个熟悉的形式,我相信有人一定联想到了高中课堂上的“特征根法”求通项公式的技术,如果你记不起来了,事实上,斐波那契数列的通项公式也与此式颇为神似:

F_n=\frac{1}{\sqrt{5}}((\frac{1+\sqrt{5}}{2})^n-(\frac{1-\sqrt{5}}{2})^n)                      (比内公式)

它与 F_{n+1}=F_n+F_{n-1} 的递推式有着千丝万缕的联系,具体地,x^2=x+1 的两个根恰为x_{1,2}=\frac{1 \pm \sqrt{5}}{2}

这里的情况非常有趣,我们尝试“逆用”特征根法,基于韦达定理,令

-b=(x_0+\sqrt{D}y_0)+(x_0-\sqrt{D}y_0),c=(x_0+\sqrt{D}y_0)(x_0-\sqrt{D}y_0)=1

得到 x_{n+1}-bx_n+cx_{n-1}=0,对n\geq 1

也就得到了x_{n+1}=2x_0x_{n}-x_{n-1}

同样地,由\sqrt{D}y_n=\frac{1}{2}((x_0+\sqrt{D}y_0)^{n+1}-(x_0-\sqrt{D}y_0)^{n+1}),我们有

定理4.1:

x_{n+1}=2x_0x_n-x_{n-1},y_{n+1}=2x_0y_n-y_{n-1}

事实上,这个公式也可以由定理4推出,只不过有些变形的技巧要求,感兴趣的读者可以自己试试看。

关于Pell方程,我们就暂且分享到这里。下面笔者给出几道习题以供练习:

1.给定正整数D,T,求方程x^2-Dy^2=1 所有满足 (x,y)\in \mathbb{N}^2的解中,使x第T小的解\mod 998244353 的值(D,T \leq 10^6

2.求证:1620x^2+1080x+181,x \in \mathbb{N} 不是完全平方数

3.hdu6222 A triangle is a Heron’s triangle if it satisfies that the side lengths of it are consecutive integers t-1, t, t+1 and thatits area is an integer. Now, for given n you need to find a Heron’s triangle associated with the smallest t biggerthan or equal to n.

多测,共T组

数据范围:n \leq 10^{30},T\leq 30000

后记(碎碎念):

小菜鸟第一次写blog,有疏漏之处还请多多海涵,批评指正QWQ

我看了看市面上其他博客的风格 好像和我这个不太一样啊 罢了罢了 欢迎读者前来聊天或者反馈问题,我会很开心的AWA

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值