CPP Code
Extended Euclid algo

#include <iostream>
using namespace std;
int gcd(int a,int b,int *x,int *y){
if(b==0){
*x=1;
*y=0;
return a;
}
else{
int x1,y1;
int d=gcd(b,a%b,&x1,&y1);
*x=y1;
*y=x1-y1*(a/b);
// cout<<"x"<<x<<endl;
// cout<<"y"<<y<<endl;
return d;
}
}
int main(){
int a,b,x,y;
cin>>a>>b;
cout<<gcd(a,b,&x,&y);
}

##Python code

def gcd(a,b):
    if(b==0):
        return a,1,0
    else:
        d,x1,y1=gcd(b,a%b)
        x=x1
        y=x1-y1*(a//b)
        return d,x,y
print(gcd(55,80))