l-Q EMFd nw,ظ!% %  +1% % RpVerdananw>nw1  zw=S,/C~XXC~@C~XC~x4A~SC~ͫC~? 4? 4A~@wA~@wC~@A~C~TD~0A~*A~B~C~Sdv% 1K% %  Es1  TT`A`AFLP: TlF^`A`AFLXErrorTX_f`A`A_LP, Tdg`A`AgLTboth   TT`A`A5LP\ T5`A`A5Llparameters zero  K% " !% %  +;#L% % % ;$MK% %  Es>$M  TT`A`A>LPd T> I`A`A>LlIterate until x TX >I`A`A >LP= TT>I`A`A>LP0 K% " !% %  +% % % K% %  Es  TT`A`ALP T `A`A LThe greatest common denominator   TT`A`ALP(T``A`ALTGCDTX`A`ALP) T `A`A Lis the largest positive integer   TT`A`ALP# Tx7`A`A2Lthat divides into both numbers without a remainder  TT8;`A`A8LP.   TT`A`ALP; T|N`A`AL\Examples TXOW`A`AOLP: T`Xo`A`AXLTGCDTTpt`A`ApLP(T`u`A`AuLT256TT`A`ALP,TX`A`ALP64TX`A`ALP)=TX`A`ALP64TX`A`ALP, T``A`ALTGCDTT`A`ALP(TX`A`ALP12TT`A`ALP,TT`A`ALP8TX`A`ALP)=TT`A`ALP4TX `A`A LP, T`(`A`ALTGCDTT)-`A`A)LP(TT.4`A`A.LP5TT58`A`A5LP,TT9?`A`A9LP3TX@L`A`A@LP)=TTMS`A`AMLP1   TT`A`ALP T`A`ALWork with absolute values TT`A`ALP(T`A`ALppositive integersTT`A`ALP) K% " !% %  *% % " !'% % *=:n% % ( ;*98l<D!K +:8l:;;<< ==>>??@@AA"BB$CC'DD*EE,FF.GG/HH1II2JJ3KK4LL5MM6NN7PP8VV7XX6YY5ZZ4[[3\\2]]1^^/__.``,aa*bb'cc$dd"eeffgghhii jjkklM0:7k:2 ??l4( " % &%  *:7k% ( % % ;7kK% %  A7k  TT`A`AALPR TAL`A`AALlPublic Function   TT`A`AMLPz T`MX`A`AMLTGCDTTMX`A`AMLP(TMX`A`AMLlByVal x As LongTTM"X`A`AMLP,   TT`A`AYLP TYd`A`AYLlByVal y As LongTXYd`A`AYLP) TxY+d`A`AYL\As Long K% " !'% % ;,6=6,66,66=6=666=6=66<?=% % ( ;)6;6)66)66;6;666;6;66<D!K`P #0;(*'+&,%-$.#/"0!1 23456789:;:987  6  5  4  3   2!1"0#/$.%-&,'+(*M(9"" ??l4"(" " % &%  ;)6:6)66)66:6:666:6:66<?:% ( % % 9K% %  9  TT`A`ALP T`2 `A`ALTEnd K% " !'% % ;V,<?% % ( ;V,<D!K      MR ??l4HR(R H" % &%  ;V,<?% ( % % K% %    TT`A`ALP( TX`A`ALPx TX`A`ALP< TX`A`ALP0 TT`A`ALP? K% " !'% % ;V,qbSb<?Sq% % ( ;V,o _O_<D!K  P oPQQRRSSTTUUVVWWXXYYZZ[[\\]]^^ __ `` aabbccddeeffgghhiijjkkllmmnnoMP nPP ??l4@P(P @" % &%  ;V,n _P_<?P n% ( % % Q nK% %  Y n  TT`A`AYLP' TXYd`A`AYLPy TXYd`A`AYLP< TXYd`A`AYLP0 TTYd`A`AYLP? K% " !'% % +&%7% % ( ;+"#5<D!K@0 "#5"#5ML#"4#+ ??l4+(+ " % &%  +#"4% ( % % $"4K% %  &"4  TT`A`A&LP# TX&1`A`A&LPx T`&1`A`A&LT= -TT&1`A`A&LPx K% " !'% % ;V,,<?,% % ( ;V,*<D!K  *  #'*'#  M|)w ??l4w(w " % &%  ;V,)<?)% ( % % )K% %  )  TT`A`ALP> TX`A`ALPx TX`A`ALP+ TX`A`ALPy TX`A`ALP> TX`A`ALP0 TT `A`ALP? K% " !'% % +-% % ( ;++<D!K@0 ++MD*) ??l4)() " % &%  +*% ( % % *K% %  *  TT`A`ALP! TX`A`ALPy T` `A`ALT= -TT!&`A`A!LPy K% " !'% % +#% % ( ;+!<D!K@0 !!M4 % ??l4%(% " % &%  + % ( % %  K% %     TT`A`ALP TX`A`ALPg TX`A`ALP= TT`A`ALPy K% " !'% % ;V,yjy<?j% % ( ;V,vfv<D!K  gghhiijjkkllmmnnooppqq rr ssttuuvvwwxxyyzz {{ ||}}~~MggR ??l4HR(R H" % &%  ;V,vgv<?g% ( % % hK% %  p  TT`A`ApLP( TXp{`A`ApLPx TXp{`A`ApLP> TXp{`A`ApLP0 TTp{`A`ApLP? K% " !'% % +% % ( ;+<D!K@0 M|7 ??l47(7 " % &%  +% ( % % K% %    TT`A`ALP/ Td`A`ALTGCD TX`A`ALP= TT`A`ALPg K% " !'% % +@% % ( ;+><D!K@0 >>M=K* ??l4,K(K ," % &%  +=% ( % % =K% %  =  TT`A`ALP TX`A`ALPg TX `A`ALP= TT `A`A LPx   TT`A`ALPC TX`A`ALPx TX `A`ALP= Tx 6`A`A L\y Mod x    TT`A`ALP TX`A`ALPy TX `A`ALP= TT `A`A LPg K% " !'% % +7m#% % ( ;+3k!<D!K@0 3k!3k!M|4j 47 ??l47(7 " % &%  +4j % ( % % 5j K% %  5j   TT`A`A8LP/ Td8S`A`A8LTGCD TXT_`A`ATLP= TT`f`A`A`LP0 K% " ! &% W$::% ( &% '% V(,::,,% ( % ( " ! &% W$ll% ( &% '% V(~~~% ( % ( " ! &% W$% ( &% '% V(% ( % ( " ! &% 66666666666666666666666666666666666666 6 6 6 6 6 6 6 6 6 6 6 66666666666666666666666666666666666666666666666666666666666666666 6 6 6 6!6!6!6!6!6"6"6"6"6"6#6#6#6#6#6$6$6$6$6$6%6%6%6%6%6&6&6&6&6&6'6'6'6'6'6(6(6(6(6)6)6)6)6)6*6*6*6*6+6+6+6+6+6,6,6,6,6-6-6-6-6.6.6.6.6/6/6/6/6060606061616161626262636363634646464646464646464646464646464646464656565656565656565656565656565656565656566666666666666666666666666666666666667676767676767676767676767676768686868686868686868686868696969696969696969696:6:6:6:6:6:6:6:6:6:6;6;6;6;6;6;6;6;6<6<6<6<6<6<6<6=6=6=6=6=6=6=6>6>6>6>6>6>6?6?6?6?6?6?6@6@6@6@6@6A6A6A6A6A6B6B6B6B6B6C6C6C6C6D6D6D6D6E6E6E6E6F6F6F6F6G6G6G6G6H6H6H6I6I6I6I6J6J6J6K6K6K6L6L6L6M6M6M6N6N6N6O6O6O6P6P6PW Q% ( &% '% V(CQQCE% ( % ( %   TX*5`A`A*LPNo% " ! &d% W$##% ( &d% 'd% V(##% ( % ( %  R  T` `A`A LTYes% " ! &% W$mm% ( &% '% V(% ( % ( %   TX`A`ALPNo% " ! &d% W$jj% ( &d% 'd% V( % ( % ( %  R  T``A`ALTYes% " ! &% W$5S5S% ( &% '% V(FSSJF% ( % ( " ! &d% W$% ( &d% 'd% V(% ( % ( %  R  T``A`ALTYes% " ! &% W$AA% ( &% '% V(4AA84 % ( % ( %   TX%`A`ALPNo% " ! &% W$% ( &% '% V(% ( % ( " ! &% W$!;!;% ( &% '% V(-;;--% ( % ( " ! &% W$MgMg% ( &% '% V(YggYY% ( % ( " ! &% 666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666W % ( &% '% V(% ( % ( %   TX`A`ALPNo% " ! &d% 666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666W % ( &d% 'd% V(% ( % ( %  R  T``A`ALTYes% " ! &% W$% ( &% '% V(  % ( % ( " ! &% 66666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6666666666666666666666666666666666666666666666666666W % ( &% '% V(  % ( % ( " ! &Es% W$Q^^Q% ( &Es% % ( " ! &% O!6O!6O!6O!6O!6O"6O"6O"6O#6O#6O#6O$6O$6O$6O%6O%6O%6O%6O&6O&6O&6O&6O'6O'6O'6O(6O(6O(6O(6O)6O)6O)6O)6O*6O*6O*6O*6O*6O+6O+6O+6O+6O,6O,6O,6O,6O,6O-6O-6O-6O-6O-6O.6O.6O.6O.6O.6O/6O/6O/6O/6O/6O/6O06O06O06O06O06O06O16O16O16O16O16O16O26O26O26O26O26O26O36O36O36O36O36O36O36O46O46O46O46O46O46O46O46O56O56O56O56O56O56O56O66O66O66O66O66O66O66O66O66O76O76O76O76O76O76O76O76O86O86O86O86O86O86O86O86O96O96O96O96O96O96O96O96O96O:6O:6O:6O:6O:6O:6O:6O:6O:6O;6O;6O;6O;6O;6O;6O;6O;6O<6O<6O<6O<6O<6O<6O<6O<6O=6O=6O=6O=6O=6O=6O=6O>6O>6O>6O>6O>6O>6O>6O>6O?6O?6O?6O?6O?6O?6O@6O@6O@6O@6O@6O@6O@6OA6OA6OA6OA6OA6OA6OB6OB6OB6OB6OB6OBPC6PC6PC6PC6PC6PC6PC6OC6PC6PC6PC6PC6OC6PC6PC6OC6PC6PC6PC6OC6OC6PC6OC6PC6OC6OC6OC6PC6OC6OC6OC6PC6OC6PC6PC6OC6PC6PC6PC6OC6OC6OD6OD6PD6OD6PD6OD6PD6PD6OD6OD6PE6PE6OE6PE6PE6OE6PE6PE6PF6OF6PF6PF6PF6PG6PG6PG6OG6OG6PH6OH6OH6PH6PI6OI6PI6OI6PJ6PJ6OJ6PJ6PK6PK6PK6PL6PL6PL6PM6OM6PM6ON6ON6OO6PO6PO6PP6PP6PQ6PQ6PR6PR6OS6PS6PT6PT6PU6PU6PV6PV6PW6PW6PX6PY6PY6PZ6PZ6P[6P\6P\6P]6P^6P^6P_6P`6Pa6Pa6Pb6Pc6Pd6Pd6Pe6Pf6Pg6Ph6Ph6Pi6Pj6Pk6Pl6Pm6Pn6Po6Pp6Pq6Pr6Ps6Pt6Pu6Pv6Pw6Px6Py6Pz6P{6P|6P}6P6P6P6P6P6P6P6P6P6P6P6P6P6P6P6P6P6P6P6P6P6O6P6O6O6O6O6P6P6P6O6O6O6P6O6P6O6P6P6O6P6P6P6P6O6OP6P6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6O6N6N6N6N6N6N6N6N6N6N6N6N6N6N6N6N6N6N6M6M6M6M6M6M6M6M6M6M6M6M6L6L6L6L6L6L6L6L6L6L6K6K6K6K6K6K6K6K6J6J6J6J6J6J6J6I6I6I6I6I6I6I6H6H6H6H6H6H6G6G6G6G6G6F6F6F6F6F6E6E6E6E6E6D6D6D6D6C6C6C6C6B6B6B6B6A6A6A6A6@6@6@6@6?6?6?6>6>6>6=6=6=6=6<6<6<6;6;6;6:6:6:6969686868676767666666W 6% ( &% '% V(6A6A;% ( % ( "