DEFINT A-Z DIM num(1 TO 32, 1 TO 3) DIM coef(1 TO 32, 1 TO 3) DIM n(1 TO 2), c(1 TO 2) CLS PRINT "Diofanto 1.0" PRINT PRINT "Equa‡ao: ax+by=c" PRINT DO INPUT "a,b,c :", a, b, c LOOP WHILE a < b OR a = 0 OR b = 0 PRINT i = 1 num(1, 2) = a: num(1, 3) = b coef(1, 2) = 1 'coef num i significado '> 1 2 3 1 2 3 ' 1 8 143 17 1 7=143-17*8 ' 1 1 2 7 17 7 2 3=17-7*2 ' 1 1 2 3 7 3 3 1=7-2*3 ' 1 1 3 1 3 1 4 ' 1 0 ' DO coef(i, 3) = num(i, 2) \ num(i, 3) num(i + 1, 1) = num(i, 2) MOD num(i, 3) coef(i + 1, 1) = 1 IF num(i + 1, 1) = 0 THEN i = i - 1: EXIT DO num(i + 1, 2) = num(i, 3): coef(i + 1, 2) = 1 num(i + 1, 3) = num(i + 1, 1) i = i + 1 LOOP mdc = num(i + 1, 1) IF c MOD mdc THEN PRINT "Nao ha solu‡oes": SYSTEM n(1) = num(i, 2): n(2) = num(i, 3) c(1) = coef(i, 2): c(2) = -coef(i, 3) menor = 1 DO WHILE i > 1 menor = 3 - menor i = i - 1 c(3 - menor) = c(3 - menor) - coef(i, 3) * c(menor) n(menor) = num(i, 2) LOOP IF n(1) < n(2) THEN SWAP n(1), n(2): SWAP c(1), c(2) c(1) = c(1) * (c \ mdc) c(2) = c(2) * (c \ mdc) PRINT n(1); " * "; c(1); " + "; n(2); " * "; c(2); " = "; c PRINT PRINT "Solu‡ao geral:" IF n(2) < 0 AND n(1) < 0 THEN mdc = -mdc PRINT "("; c(1); "+"; n(2) \ mdc; ". t ,"; c(2); "-"; n(1) \ mdc; ". t )" PRINT SYSTEM