Open In App

Python Program for Extended Euclidean algorithms




# Python program to demonstrate working of extended
# Euclidean Algorithm
     
# function for extended Euclidean Algorithm
def gcdExtended(a, b):
    # Base Case
    if a == 0 :
        return b,0,1
             
    gcd,x1,y1 = gcdExtended(b%a, a)
     
    # Update x and y using results of recursive
    # call
    x = y1 - (b//a) * x1
    y = x1
     
    return gcd,x,y
     
 
# Driver code
a, b = 35,15
g, x, y = gcdExtended(a, b)
print("gcd(", a , "," , b, ") = ", g)

Output:

gcd(35, 15) = 5

Time Complexity: O(log(max(A, B)))



Auxiliary Space: O(log(max(A, B))), keeping recursion stack in mind.

Please refer complete article on Basic and Extended Euclidean algorithms for more details!



Article Tags :