佩尔方程(pell方程)
第一类佩尔方程
形如:
方程存在无数个解,要求最小整数解的话,只要枚举y的值直到x为整数即可。
想要得到所有解,我们就要推导通解公式,过程如下。
这样的话我们只要知道第一个特解( x1, y1),和第n-1个特解,就能够求出第n个解,我们这时候可以用矩阵快速幂,以O(log n)的复杂度来就快速求取,第n个解。
第二类佩尔方程
形如:
解第二类佩恩方程,需要用到第一类方程的解。过程与第一类大同小异。
$ ,这样就方便用矩阵快速幂求第k个解.
给出一些求解脚本:
1 | #连分数求解pell方程最小整数解 |