拓展gcd解不定线性方程ax+by=c模版

拓展gcd解不定线性方程ax+by=c模版

/** 解不定方程 ax+by=c */



ll a,b,c;

ll x,y;



ll exgcd(ll a,ll b,ll &x,ll &y)

{

    if(b==0){

        x=1;y=0;

        return a;

    }

    ll r=exgcd(b,a%b,x,y);

    ll t=y;

    y=x-a/b*y;

    x=t;

    return r;

}



bool NLE(ll a,ll b,ll c,ll &x,ll &y) /**解不定方程 ax+by=c;*/

{

    ll d=exgcd(a,b,x,y);

    if(c%d) return false;

    x*=c/d;               ///特解

    y*=c/d;

    ///x=x+k*(b/d); ///所有的整数解(k为整数)

    ///y=y-k*(a/d);

    return true;

}
View Code

 

你可能感兴趣的:(GC)