extended Euclidean algorithm