40 byte recursive-based version of the Euclidean algorithm