数论:不定方程
最普通的不定方程是这样的:
[ax+by=c
]
对于不定方程的整数解,有一个结论:只要c能被gcd(a,b)整除,那么方程有整数解.
为了表示清楚,设gcd(a,b)=q,a=qn,b=qm,c=qo.
这时设a,b,c符合条件,那么n,m,o都是整数,且n,m互质.
对于m,n,一定可以有两个整数u,v,符合nu+mv=1.
也就是说,对于某一个u,符合nu%m=1,此时nu/m=v.并且在1<=u<m时,u唯一.
这时a+b=nq+mq=q(n+m).
只要x=u,y=v,那么方程左边就是nqu+mqv=q(nu+mv)=q.
只要将x和y同时乘c/q,那么方程左边就等于q(c/q)=c.
此时方程有整数特解x=uc/q,y=vc/q.当然,这里的u,v,q是我们自己定义的变量.
q=gcd(a,b),u=(a/q)的逆元(%n),v=(b/q)的逆元(%m).
这时就可以写出完整公式:
[inom{x=frac{ua}{q}}{y=frac{cb}{q}}
]
只要有一组特解,就能求出所有解.
因为x每次增加m,那么xa就增加ma,又因为ma=mnq=[a,b],所以x增加m,ax就增加[a,b]
所以对x来说,每个m是一循环,因为每个增加[a,b]都可以被b整除,所以当特解x增加m时,y只要减少n就能使by减少x,使等式仍然成立.
m=b/gcd(a,b)
n=a/gcd(a,b)
所以就有了通过特解求所有整数解的公式:(t为任意整数)
[inom{x=x_0+frac{bt}{q}}{y=y_0-frac{at}{q}}
]
这便是解二元一次不定方程的方法了.