整理一下:
解方程组: 方程组
ax+by=c
:
S1__有整数解的充要条件是
gcd(a,b)|c
S2__exgcd求得方程
ax+by=gcd(a,b)
任意一组解
(x0,y0)
。
S3__将
x,y
乘上
cgcd(a,b)
,转化为
ax+by=c
的一组解
x1,y1
。
S4__通解形式为:
x=x1+k×bgcd(a,b)
。
S5__乘法逆元就是x最小的一组解。
void exgcd(ll a,ll b,ll &x,ll &y)
{
if(b==0){x=1,y=0;return;}
exgcd(b,a%b,x,y);
ll k=x;
x=y,y=k-(a/b)*y;
}