# BigInteger.GreatestCommonDivisor(BigInteger, BigInteger)BigInteger.GreatestCommonDivisor(BigInteger, BigInteger)BigInteger.GreatestCommonDivisor(BigInteger, BigInteger)BigInteger.GreatestCommonDivisor(BigInteger, BigInteger) Method

## Definition

Finds the greatest common divisor of two BigInteger values.

``````public:
static System::Numerics::BigInteger GreatestCommonDivisor(System::Numerics::BigInteger left, System::Numerics::BigInteger right);``````
``public static System.Numerics.BigInteger GreatestCommonDivisor (System.Numerics.BigInteger left, System.Numerics.BigInteger right);``
``static member GreatestCommonDivisor : System.Numerics.BigInteger * System.Numerics.BigInteger -> System.Numerics.BigInteger``
``Public Shared Function GreatestCommonDivisor (left As BigInteger, right As BigInteger) As BigInteger``

#### Parameters

left
BigInteger BigInteger BigInteger BigInteger

The first value.

right
BigInteger BigInteger BigInteger BigInteger

The second value.

#### Returns

The greatest common divisor of `left` and `right`.

## Examples

The following example illustrates a call to the GreatestCommonDivisor method and the exception handling necessary to provide useful information about an ArgumentOutOfRangeException. The result indicates that the greatest common divisor of these two numbers is 1.

``````BigInteger n1 = BigInteger.Pow(154382190, 3);
BigInteger n2 = BigInteger.Multiply(1643590, 166935);
try
{
Console.WriteLine("The greatest common divisor of {0} and {1} is {2}.",
n1, n2, BigInteger.GreatestCommonDivisor(n1, n2));
}
catch (ArgumentOutOfRangeException e)
{
Console.WriteLine("Unable to calculate the greatest common divisor:");
Console.WriteLine("   {0} is an invalid value for {1}",
e.ActualValue, e.ParamName);
}
``````
``````Dim n1 As BigInteger = BigInteger.Pow(154382190, 3)
Dim n2 As BigInteger = BigInteger.Multiply(1643590, 166935)
Try
Console.WriteLine("The greatest common divisor of {0} and {1} is {2}.", _
n1, n2, BigInteger.GreatestCommonDivisor(n1, n2))
Catch e As ArgumentOutOfRangeException
Console.WriteLine("Unable to calculate the greatest common divisor:")
Console.WriteLine("   {0} is an invalid value for {1}", _
e.ActualValue, e.ParamName)
End Try
``````

## Remarks

The greatest common divisor is the largest number into which the two BigInteger values can be divided without returning a remainder.

If the `left` and `right` parameters are non-zero numbers, the method always returns at least a value of 1 because all numbers can be divided by 1. If either parameter is zero, the method returns the absolute value of the non-zero parameter. If both values are zero, the method returns zero.

Note

Computing the greatest common divisor of very large values of `left` and `right` can be a very time-consuming operation.

The value returned by the GreatestCommonDivisor method is always positive regardless of the sign of the `left` and `right` parameters.