BigInteger.ModPow Method (BigInteger, BigInteger, BigInteger)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Performs modulus division on a number raised to the power of another number.

Namespace:   System.Numerics
Assembly:  System.Numerics (in System.Numerics.dll)

public static BigInteger ModPow(
	BigInteger value,
	BigInteger exponent,
	BigInteger modulus


Type: System.Numerics.BigInteger

The number to raise to the exponent power.

Type: System.Numerics.BigInteger

The exponent to raise value by.

Type: System.Numerics.BigInteger

The number by which to divide value raised to the exponent power.

Return Value

Type: System.Numerics.BigInteger

The remainder after dividing valueexponent by modulus.

Exception Condition

modulus is zero.


exponent is negative.

The ModPow method evaluates the following expression:

(baseValue ^ exponent) Mod modulus

To perform exponentiation on BigInteger values without modulus division, use the Pow method.

The following example provides a simple illustration of calling the ModPow method.

using System;
using System.Numerics;

public class Class1
   public static void Main()
      BigInteger number = 10;
      int exponent = 3;
      BigInteger modulus = 30;
      Console.WriteLine("({0}^{1}) Mod {2} = {3}", 
                        number, exponent, modulus, 
                        BigInteger.ModPow(number, exponent, modulus));    
// The example displays the following output:
//      (10^3) Mod 30 = 10

Universal Windows Platform
Available since 8
.NET Framework
Available since 4.0
Portable Class Library
Supported in: portable .NET platforms
Available since 4.0
Windows Phone
Available since 8.1
Return to top