reserve x,y,z for Real,
  a,b,c,d,e,f,g,h for Nat,
  k,l,m,n,m1,n1,m2,n2 for Integer,
  q for Rational;
reserve fs,fs1,fs2,fs3 for FinSequence;
reserve D for non empty set,
  v,v1,v2,v3 for object,
  fp for FinSequence of NAT,
  fr,fr1,fr2 for FinSequence of INT,
  ft for FinSequence of REAL;
reserve x,y,t for Integer;

theorem Th33:
  (ex x,y st m*x+n*y=k) iff (m gcd n) divides k
proof
A1: now
    assume
A2: (m gcd n) divides k;
    now
      consider m1,n1 such that
A3:   (m gcd n)=m*m1+n*n1 by Th28;
      consider l such that
A4:   (m gcd n)*l=k by A2;
      k=m*(m1*l)+n*(n1*l) by A4,A3;
      hence ex x,y st m*x+n*y=k;
    end;
    hence ex x,y st m*x+n*y=k;
  end;
  now
    given x,y such that
A5: m*x+n*y=k;
    (m gcd n) divides m & (m gcd n) divides n by INT_2:21;
    hence (m gcd n) divides k by A5,Th5;
  end;
  hence thesis by A1;
end;
