100] of integer;
BEGIN
writeln ('введіть ступінь многочлена');
readln (N);
for i: = 1 to n +1 do begin
if i = n +1 then begin writeln ('введіть вільний коефіцієнт');
read (C); end;
if i <> n +1 then begin Writeln ('введіть коефіцієнт при x ^ ', n-i +1);
readln (A [i]); end; end;
w: = 1;
for j: = 1 to c do begin
if c/j = (c div j) then begin d [j]: =-j;
k: = n;
for i: = 1 to n do begin
for q: = 1 to k do
w: = w * d [j];
x: = x + w * a [i];
k: = k-1; w: = 1; end;
if x + c = 0 then begin p: = p +1;
writeln ('цілий корінь рівняння =', d [j]); end;
end; x: = 0; end;
for j: = 1 to c do begin
if c/j = (c div j) then begin d [j]: = j;
k: = n;
for i: = 1 to n do begin
for q: = 1 to k do
w: = w * d [j];
x: = x + w * a [i];
k: = k-1; w: = 1; end;
if x + c = 0 then begin p: = p +1;
writeln ('цілий корінь рівняння =', d [j]); end;
end; x: = 0; end;
if p = 0 then writeln ('дане рівняння в цілих числах нерозв'язно ');
readln; readln;
END.
ПРОГРАМА № 2 (Рівняння першого ступеня з двома невідомими)
program matan_2;
var p, q, t, n, i, k, x, y, w, r, s, d: integer; a, b, c: array [1 .. 1000] of integer;
BEGIN
writeln ('ст. при х'); readln (p);
writeln ('ст. при y'); readln (q);
writeln ('ст. c'); readln (t);
if p <0 then x: =-p else x: = p; if q <0 then y: =-q else y: = q;
n: = 0; n: = 0; k: = 1;
for i: = 1 to 10 do begin
if k <> 0 then begin n: = n +1;
for i: = n to n do begin
a [i]: = x; b [i]: = y;
c [i]: = x div y;
x: = x-c [i] * y;
k: = k +1; n: = 0; r: = r +1;
if (x 1) then begin w: = y; y: = x; x: = w; end else k: = 0;
end;
end; end;
x: = p; y: = q;
for i: = 1 to r do begin
a [i]: = x; b [i]: = y;
c [i]: = x div y;
x: = x-c [i] * y; a [i]: = 1; b [i]: = 1;
if (x 1) then begin w: = y; y: = x; x: = w; end;
end;
for i: = r downto 1 do begin
b [r]: = 0;
b [i]: = c [i] * b [i] + a [i];
if i> 1 then b [i-1]: = b [i];
if i> 2 then a [i-2]: = b [i-1];
end;
if (P * b [1] + q * a [1] + t) = 0 then begin
writeln ('корені рівняння x =', b [1], 'y =', a [1]);
writeln ('всі його рішення будуть міститися в прогресія');
writeln ('x =', b [1], '+', q, '*', 't');
writeln ('y =', a [1], '+', p, '*', 't'); end;
readln;
...