euclid method