10 ' Modular inverse 20 LET E% = 42 30 LET T% = 2017 40 GOSUB 1000 50 PRINT MODINV% 60 END 990 ' increments e stp (step) times until bal is greater than t 992 ' repeats until bal = 1 (mod = 1) and returns count 994 ' bal will not be greater than t + e 1000 LET D% = 0 1010 IF E% >= T% THEN GOTO 1140 1020 LET BAL% = E% 1025 ' At least one iteration is necessary 1030 LET STP% = ((T% - BAL%) \ E%) + 1 1040 LET BAL% = BAL% + STP% * E% 1050 LET COUNT% = 1 + STP% 1060 LET BAL% = BAL% - T% 1070 WHILE BAL% <> 1 1080 LET STP% = ((T% - BAL%) \ E%) + 1 1090 LET BAL% = BAL% + STP% * E% 1100 LET COUNT% = COUNT% + STP% 1110 LET BAL% = BAL% - T% 1120 WEND 1130 LET D% = COUNT% 1140 LET MODINV% = D% 1150 RETURN