(a, b)
return a
Computes the greatest common divisor of integers a and b using
    Euclid's Algorithm.
    gcd{𝑎,𝑏}=gcd{−𝑎,𝑏}=gcd{𝑎,−𝑏}=gcd{−𝑎,−𝑏}
    See proof: https://proofwiki.org/wiki/GCD_for_Negative_Integers
Computes the greatest common divisor of integers a and b using
    Euclid's Algorithm.
    gcd{𝑎,𝑏}=gcd{−𝑎,𝑏}=gcd{𝑎,−𝑏}=gcd{−𝑎,−𝑏}
    See proof: https://proofwiki.org/wiki/GCD_for_Negative_Integers
Computes the greatest common divisor of integers a and b using Euclid s Algorithm . gcd { 𝑎 𝑏 } = gcd { −𝑎 𝑏 } = gcd { 𝑎 −𝑏 } = gcd { −𝑎 −𝑏 } See proof : https : // proofwiki . org / wiki / GCD_for_Negative_Integers
def gcd(a, b):
    """Computes the greatest common divisor of integers a and b using
    Euclid's Algorithm.
    gcd{𝑎,𝑏}=gcd{−𝑎,𝑏}=gcd{𝑎,−𝑏}=gcd{−𝑎,−𝑏}
    See proof: https://proofwiki.org/wiki/GCD_for_Negative_Integers
    """
    a_int = isinstance(a, int)
    b_int = isinstance(b, int)
    a = abs(a)
    b = abs(b)
    if not(a_int or b_int):
        raise ValueError("Input arguments are not integers")

    if (a == 0) or (b == 0) :
        raise ValueError("One or more input arguments equals zero")

    while b != 0:
        a, b = b, a % b
    return a
def gcd ( a , b ) : a_int = isinstance ( a , int ) b_int = isinstance ( b , int ) a = abs ( a ) b = abs ( b ) if not ( a_int or b_int ) : raise ValueError ( "Input arguments are not integers" ) if ( a == 0 ) or ( b == 0 ) : raise ValueError ( "One or more input arguments equals zero" ) while b != 0 : a , b = b , a % b return a