佩尔方程(Pell Equation)为:
如果已知它的最小特解:x1,y1
那么存在迭代公式:
通过简单的证明:
由此得到矩阵递推式:
暴力法寻找最小特解:
typedef long long LL;
void search(LL &x,LL &y,LL d){
y=1;
while(1>0){
x=(LL)sqrt(1+d*y*y);
if(x*x-d*y*y==1) break;
y++;
}
}
hdu 3292 No more tricks, Mr Nanguo
http://acm.hdu.edu.cn/showproblem.php?pid=3292
大意:转化题意,即x^2-NY^2=1 求出第K个X解
分析:先暴力法求出特解,然后,Pell方程的解递推矩阵求出答案
#include <iostream>
#include <cstdio>
#in