using the Euclid algorithm