佩尔方程

来源:互联网 发布:把高中老师给睡了知乎 编辑:程序博客网 时间:2024/04/28 12:00
佩尔方程

佩尔方程:

形如x2-D*y2=1(D是一个固定的正整数且D不是完全平方数)的方程称为佩尔方程

佩尔方程定理:

佩尔方程总有正整数解,若(x1,y1)是使x1最小的解,则每个解(xk,yk)都可以通过取幂得到:
xk + yk * sqrt(D) = (x1 + y1 *sqrt(D))k

xn+1 = x0xn +Dy0yn , yn+1 = y0xn+ x0yn

xn+2 = 2x0xn+1-xn   yn+2 = 2x0yn+1-yn

代码:
扩展

1.  x2 - D * y2 =-1(D不是完全平方数)

这个方程并不一定有解,但若有解,则有无数解(这里的解说的都是正整数解)

且有:xn+1 = (x0² + Dy0²)xn+ 2Dx0y0yn,   yn+1 = 2x0y0xn+ (x0² + Dy0²)yn((x0,y0)是基解)

这种情况下,依旧使用上面的算法,如果最后求出的pq满足p2 – D * q2 = -1则必然有解,否则无解

其中,若D是素数且D = 4* k + 1,则必有解

2.  x² - Dy² = K(D不是完全平方数 && |K| != 1)

这个方程并不一定有解,但若有解,则有无数解,待续


0 0