Extended Euclid Algorithm