Проанализируйте приведенную ниже процедуру вывода общего решения. В чем ее отличие от предложенной ранее? Предложите свой вариант реализации алгоритма. Можно ли в нем обойтись без цикла и некоторых условий для a, bи c?Procedure Diofant2 (a,b,c:Integer);Var d,x,y,cd,bd,ad:Integer;BeginExEuclid (abs(a),abs(b),d,x,y);1. 5. Расширенный алгоритм Евклида 87If c Mod d<>0 Then WriteLn('ɪɟɲɟɧɢɣ ɧɟɬ')Else Begincd:=Abs(c) Div d;x:=x*cd; y:=y*cd;bd:=Abs(b) Div d; ad:=Abs(a) Div d;If x>0 Then bd:=-bd Else ad:=-ad;While Abs(x+bd)+Abs(y+ad)Do Beginx:=x+bd;y:=y+ad;End;If a<0 Then Begin x:=-x; bd:=-bd; End;If b<0 Then Begin y:=-y; ad:=-ad; End;If c<0 Then Beginx:=-x; bd:=-bd; y:=-y; ad:=-ad; End;WriteLn(x,' ',bd, '*k');WriteLn(y,' ',ad, '*k');End;End; в Pascal