• Source
    1. #include<bits/stdc++.h>
    2.  
    3. using namespace std;
    4.  
    5. int x,y,d;
    6.  
    7. int ExtendedEuclid(int a,int b)
    8. {
    9. if(b==0)
    10. {
    11. x=1,y=0,d=a;
    12.  
    13. return d;
    14. }
    15.  
    16. int ret = ExtendedEuclid(b,a%b);
    17.  
    18. int x1 = y;
    19.  
    20. int y1 = x-(a/b)*y;
    21.  
    22. x = x1;
    23.  
    24. y = y1;
    25.  
    26. return ret;
    27. }
    28.  
    29. int main()
    30. {
    31. int a,b;
    32.  
    33. while(scanf("%d%d",&a,&b)==2)
    34. {
    35. int gcd = ExtendedEuclid(a,b);
    36.  
    37. printf("%d %d %d\n",x,y,gcd);
    38. }
    39.  
    40. return 0;
    41. }