不定方程
裴蜀定理
给定参数
证明:
设
其中
设
因为
设
则
设
所以
因为
所以
同理可得:
综上:
根据(1)(2)得出,
所以得出最小正整数是
而
扩展欧几里得
知道
可以先求出
考虑欧几里得算法,有
设
我们知道欧几里得算法迭代到最后会变成
所以我们相当于知道了
cpp
int exgcd(int a,int b,int &x,int &y)
{
if(b==0){x=1,y=0;return a;}
int g=exgcd(b,a%b,y,x);
y-=a/b*x;
return g;
}
1
2
3
4
5
6
7
2
3
4
5
6
7
这样可以得到
显然作为二元二次不定方程,它不只有一组解。
设
移项
求最小的
所以,