Java.math.BigInteger.modPow() Method



The java.math.BigInteger.modPow(BigInteger exponent, BigInteger m) returns a BigInteger whose value is (thisexponent mod m). Unlike pow, this method permits negative exponents.


Following is the declaration for java.math.BigInteger.modPow() method.

public BigInteger modPow(BigInteger exponent, BigInteger m)


  • exponent − The exponent.

  • m − The modulus.

Return Value

This method returns a BigInteger object whose value is thisexponent mod m.


ArithmeticException − If m ≤ 0 or the exponent is negative and this BigInteger is not relatively prime to m.


The following example shows the usage of math.BigInteger.modPow() method.

package com.tutorialspoint;

import java.math.*;

public class BigIntegerDemo {

   public static void main(String[] args) {

      // create 3 BigInteger objects
      BigInteger bi1, bi2, bi3;

      // create a BigInteger exponent
      BigInteger exponent = new BigInteger("2");

      bi1 = new BigInteger("7");
      bi2 = new BigInteger("20");

      // perform modPow operation on bi1 using bi2 and exp
      bi3 = bi1.modPow(exponent, bi2);

      String str = bi1 + "^" +exponent+ " mod " + bi2 + " is " +bi3;

      // print bi3 value
      System.out.println( str );

Let us compile and run the above program, this will produce the following result −

7^2 mod 20 is 9