)clear all x1:=4 m1:=5 x2:=2 m2:=3 result:=chineseRemainder(x1,m1,x2,m2) expected:=14 if (result-expected ~=0) then print "DALY BUG" )clear completely inverse:(INT,INT)->INT inverse(a,b) == borg:INT:=b c1:INT := 1 d1:INT := 0 while b ~= 0 repeat q := a quo b r := a-q*b print [a, "=", q, "*(", b, ")+", r] (a,b):=(b,r) (c1,d1):=(d1,c1-q*d1) not one? a => error("moduli are not relatively prime") positiveRemainder(c1,borg) if not one?((inverse(26,15)*26)::IntegerMod(15)) then print "DALY BUG" if not one?((inverse(15,26)*15)::IntegerMod(26)) then print "DALY BUG"