19 lines
433 B
Plaintext
19 lines
433 B
Plaintext
100 PRINT MODINV(42,2017)
|
|
120 DEF MODINV(A,B)
|
|
130 LET B=ABS(B)
|
|
140 IF A<0 THEN LET A=B-MOD(-A,B)
|
|
150 LET T=0:LET NT=1:LET R=B:LET NR=MOD(A,B)
|
|
160 DO WHILE NR<>0
|
|
170 LET Q=INT(R/NR)
|
|
180 LET TMP=NT:LET NT=T-Q*NT:LET T=TMP
|
|
190 LET TMP=NR:LET NR=R-Q*NR:LET R=TMP
|
|
200 LOOP
|
|
210 IF R>1 THEN
|
|
220 LET MODINV=-1
|
|
230 ELSE IF T<0 THEN
|
|
240 LET MODINV=T+B
|
|
250 ELSE
|
|
260 LET MODINV=T
|
|
270 END IF
|
|
280 END DEF
|