参见:维基百科
定义:若一个不定方程具有这样的形式:则称此二元二次不定方程为佩尔方程
若n是完全平方数,则这个方程式只有平凡解。
解佩尔方程:若佩尔方程的最小特解(最小正整数解)是(x1,y1),那么可有迭代公式
。
求出所有正整数解(xk,xk),用矩阵表示如下
已知最小特解可以用矩阵快速幂求出任何一项解。
暴力法求特解代码:
void search(int d,int &x,int &y) //x^2 - d*(y^2) = 1
{
y=1;
while(1)
{
x=(long long )sqrt(d*y*y+1);
if(x*x-d*y*y==1)
break;
y++;
}
}
题目1:http://poj.org/problem?id=1320
题目2:acm.hdu.edu.cn/showproblem.php?pid=3292