В 3 уравнении если x1=1, то y1 обязательно должен быть равен 1. Если x1=0, значит y1 может быть равен и 1, и 0. Получается, что первому столбцу в цепочке иксов соответствует один набор в цепочке игриков, остальным шести столбцам иксов - семь столбцов игриков. Получается, что количество решений равно 1 + 6*7 = 43
Var i,j,k:longint; begin for i:=1 to 1000 do for j:=1 to 1000 do for k:=1 to 10000 do if sqr(i)+sqr(j)=sqr(K)then begin writeln(i,' ',j,' ',k); {вывожу все тройки, можно убрать} if i+j+k=1000 then begin writeln('! ',i,' ',j,' ',k); {нужная тройка} exit; {прерывание программы} end; end; end.