Pell方程初识以及技巧性的求解Pell方程整数解(附带手推详细证明)

什么是Pell方程

形如:
x 2 − N y 2 = 1 ( n ∈ Z , n ≠ 0 ) x^2-Ny^2=1(n\in \mathbb{Z},n\not= 0) x2Ny2=1(nZ,n=0)
且N为奇非平方数

可以用平方差公式改写为:
( x + N y ) ( x − N y ) = 1 (x+\sqrt{N}y)(x-\sqrt{N}y)=1 (x+N y)(xN y)=1

如何技巧性的求解佩尔方程整数解

先了解一个定义和一个定理

定义:

设 r , s 为 整 数 , 并 且 满 足 r 2 − N s 2 = T ( 其 中 N 为 非 平 方 数 ) , 则 称 α = r − s N 给 出 x 2 − N y 2 = T 的 解 设r,s为整数,并且满足r^2-Ns^2=T(其中N为非平方数),则称\alpha = r-s\sqrt N给出x^2-Ny^2 =T的解 r,sr2Ns2=T(N),α=rsN x2Ny2=T

定理:

设 α = x 1 − y 1 N , β = x 2 − y 2 N 给 出 方 程 x 2 − N y 2 的 解 , 则 α β = A − B N 给 出 方 程 x 2 − N y 2 = T 2 的 解 . 其 中 A = x 1 x 2 + N y 1 y 2 , B = x 1 y 2 + x 2 y 1 设\alpha=x_1-y_1\sqrt N,\beta=x_2-y_2\sqrt N给出方程x^2-Ny^2的解,则\alpha\beta=A-B\sqrt N给出方程x^2-Ny^2=T^2的解.其中A=x_1x_2+Ny_1y_2,B=x_1y_2+x_2y_1 α=x1y1N ,β=x2y2N x2Ny2αβ=ABN x2Ny2=T2.A=x1x2+Ny1y2,B=x1y2+x2y1

手推详细证明:

(论文中比较跳跃,直接看的话可能要看一会,所以自己手推了一遍,有助于记忆)

image-20220311013756741

则可以推广到:

若 α = x 1 − y 1 N 给 出 方 程 x 2 − N y 2 = T 的 解 若\alpha=x_1-y_1\sqrt N给出方程x^2-Ny^2 =T的解 α=x1y1N x2Ny2=T

则:

α n = x n − y n N 给 出 方 程 x 2 − N y 2 = T n 的 解 \alpha^n=x_n-y_n\sqrt N给出方程x^2-Ny^2 =T^n的解 αn=xnynN x2Ny2=Tn

举个例子:

解 方 程 x 2 − 10 y 2 = 1 解方程x^2-10y^2=1 x210y2=1

很明显,3x3与10相差-1,根据推论可得

α = 3 − 10 给 出 了 x 2 − 10 y 2 = − 1 的 解 , 则 根 据 α n 这 一 条 性 质 , n = 2 即 可 得 出 , α 2 = ( 3 − 10 ) 2 = 19 − 6 10 给 出 了 方 程 x 2 − 10 y 2 = 1 的 解 \alpha=3-\sqrt {10}给出了x^2-10y^2=-1的解,则根据\alpha^n这一条性质,n=2即可得出,\alpha^2={(3-\sqrt{10})}^2=19-6\sqrt{10}给出了方程x^2-10y^2=1的解 α=310 x210y2=1αnn=2,α2=(310 )2=19610 x210y2=1

参考文章:https://blog.csdn.net/liangzhaoyang1/article/details/53145994

Pell 方程是形如 $x^2-dy^2=1$ 的二元二次方程,其中 $d$ 是正整数,$x$ 和 $y$ 是正整数求解 Pell 方程的一种经典方法是使用连分数。下面是求解 Pell 方程的步骤: 1. 首先,我们找到 Pell 方程的一个基本 $(x_0,y_0)$,可以通过暴力枚举或使用其他方法来找到基本。 2. 我们使用基本 $(x_0,y_0)$ 来构造一个无限循环小数: $$\sqrt{d}=[a_0;\overline{a_1,a_2,\ldots,a_r,2a_0,\overline{a_1,a_2,\ldots,a_r,2a_0,\ldots}}]$$ 其中,$a_0=\lfloor\sqrt{d}\rfloor$,$a_i$ 是循环节中的数字。 3. 我们将这个无限循环小数表示为一个连分数: $$\sqrt{d}=a_0+\frac{1}{a_1+\frac{1}{a_2+\frac{1}{\ldots+\frac{1}{2a_0+\frac{1}{a_1+\frac{1}{a_2+\ldots}}}}}}$$ 4. 我们使用连分数的递归公式,计算出前 $n$ 个连分数的值: $$\begin{aligned}&h_0=a_0, &k_0=1 \\ &h_1=a_0a_1+1, &k_1=a_1 \\ &h_i=a_ih_{i-1}+h_{i-2}, &k_i=a_ik_{i-1}+k_{i-2}\end{aligned}$$ 其中,$h_i$ 和 $k_i$ 分别表示连分数的第 $i$ 个逼近分数的分子和分母。 5. 我们可以证明,对于任意 $n$,$(h_n,k_n)$ 都是 Pell 方程。这是由连分数的性质所决定的。 6. 最终,我们可以得到 Pell 方程的所有正整数 $(x,y)$,它们可以通过 $(x,y)=(x_0h_n+dy_0k_n,x_0k_n+y_0h_n)$ 来计算。 需要注意的是,如果循环节长度为奇数,则最后一个连分数的分母应该是 $2a_0$,否则应该是 $1$。此外,如果循环节长度为 $0$,则 $a_1$ 应该等于 $2a_0$。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值