佩尔方程:
设d是正整数,且非平方数。
x^2-dy^2=1……①
①一定有无穷多组正整数解
这是初等数论中最经典的内容之一。
假设(x_0,y_0)是①中使x+y^0.5最小的解(称为①的基本解), 那么①的所有的正整数解可写为
x_n=1/2[(x_1+y_1d^0.5)^n+(x_1-y_1d^0.5)^n]
y_n=1/(2d^0.5)[(x_1+y_1d^0.5)^n-(x_1-y_1d^0.5)^n]
∴x_n+y_n*(d)^0.5=(x_0+y_0*(d)^0.5)^(n+1)
且不难导出x_n,y_n满足的线性递推关系
x_n=2x_1x_(n-1)-x_(n-2)
y_n=2x_1y_(n-1)-y_(n-2)
在一般的函数域上,我们也有类似的佩尔方程, 它和向量丛的稳定性有着微妙的关系。
以上的公式就是Pell方程的一般形态.
poj1320 题意
可以理解为:1+2+……+n=(n+1)+......+m
化简后为
x^2-8y^2=1 典型佩尔方程
一直x1=3 ,y1=1
迭代可以为
x(n+1)=3xn+8yn
y(n+1)=xn+3yn
#include<iostream>
using namespace std;
int main()
{
int x,y,x1,y1,px,py,d;
x1=3;
y1=1;
px=3;
py=1;
for(int i=1;i<=10;i++)
{
x=px*x1+8*py*y1;
y=px*y1+py*x1;
printf("%10d%10d\n",y,(x-1)/2);
px=x;
py=y;
}
return 0;
}
本文深入探讨了佩尔方程的概念及其基本解的求法,通过连分数理论,揭示了佩尔方程解的生成规律,并以POJ1320为例展示了佩尔方程在特定问题中的应用,最终通过C++代码实现了佩尔方程的迭代求解过程。
1982

被折叠的 条评论
为什么被折叠?



