RosettaCodeData/Task/Modular-inverse/Arturo/modular-inverse.arturo
2023-07-01 13:44:08 -04:00

17 lines
302 B
Text

modInverse: function [a,b][
if b = 1 -> return 1
b0: b x0: 0 x1: 1
z: a
while [z > 1][
q: z / b t: b
b: z % b z: t
t: x0 x0: x1 - q * x0
x1: t
]
(x1 < 0) ? -> x1 + b0
-> x1
]
print modInverse 42 2017