佩尔方程

参见:维基百科

定义:若一个不定方程具有这样的形式:http://upload.wikimedia.org/math/3/6/9/369132e4b800099cf4c2a41e4a954c55.png则称此二元二次不定方程为佩尔方程

           若n是完全平方数,则这个方程式只有平凡解(\pm 1, 0)

解佩尔方程:若佩尔方程http://upload.wikimedia.org/math/3/6/9/369132e4b800099cf4c2a41e4a954c55.png的最小特解(最小正整数解)是(x1,y1),那么可有迭代公式

                \displaystyle x_{i+1} = x_1 x_i + n y_1 y_i,

                \displaystyle y_{i+1} = x_1 y_i + y_1 x_i

求出所有正整数解(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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值