Public Function PGCD(ByVal a As Integer, ByVal b As Integer) As Integer
If a = b Then
Return a
End If
Dim c As Integer
If b > a Then
c = a
a = b
b = c
End If
Dim rest As Integer
Math.DivRem(a, b, rest)
If rest = 0 Then a = b
While rest <> 0
Math.DivRem(a, b, rest)
a = b
b = rest
End While
Return a
End Function