佩尔方程:
设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;
}