added ceuclid and binary gcd algorithms