Related Articles
Find the value of the function Y = (X^6 + X^2 + 9894845) % 971
• Last Updated : 14 Oct, 2019

Given a function, Y = (X^6 + X^2 + 9894845) % 971 for a given value. The task is to find the value of the function.

Examples:

```Input: x = 5
Output: 469

Input: x = 654654
Output: 450
```

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Explanation:

Y = (X^6 + X^2 + 9894845) % 971.
If we break down the equation we get Y = (X^6)%971 + (X^2)%971 +(9894845)%971
and we can reduce the eqution to Y=(X^6)%971 + (X^2)%971 + 355.

Below is the required implementation:

## C++

 `// CPP implementation of above approach``#include ``using` `namespace` `std;`` ` `// computing (a^b)%c``long` `long` `int` `modpow(``long` `long` `int` `base, ``long` `long` `int` `exp``, ``long` `long` `int` `modulus) {``base %= modulus;``long` `long` `int` `result = 1;``while` `(``exp` `> 0) {``    ``if` `(``exp` `& 1) result = (result * base) % modulus;``    ``base = (base * base) % modulus;``    ``exp` `>>= 1;``}``return` `result;``}`` ` `// Driver code``int` `main(){``    ``long` `long` `int` `n = 654654, mod = 971;``    ``cout<<(((modpow(n, 6, mod)+modpow(n, 2, mod))% mod + 355)% mod);`` ` `    ``return` `0;``}``// This code is contributed by Sanjit_Prasad`

## Java

 `// Java implementation of above approach`` ` `class` `GFG``{`` ` `// computing (a^b)%c``static` `long` `modpow(``long` `base, ``long` `exp, ``long` `modulus) ``{``    ``base %= modulus;``    ``long` `result = ``1``;``    ``while` `(exp > ``0``) {``        ``if` `((exp & ``1``)>``0``) result = (result * base) % modulus;``            ``base = (base * base) % modulus;``            ``exp >>= ``1``;``    ``}``    ``return` `result;``}`` ` `    ``public` `static` `void` `main(String[] args)``    ``{``        ``long` `n = ``654654``;``        ``long` `mod = ``971``;``        ``System.out.println(((modpow(n, ``6``, mod)+modpow(n, ``2``, mod))% mod + ``355``)% mod);``    ``}``}``// This code is contributed by mits;`

## Python3

 `# Python implementation of above approach`` ` `n ``=` `654654``mod ``=` `971``print``(((``pow``(n, ``6``, mod)``+``pow``(n, ``2``, mod))``%` `mod ``+` `355``)``%` `mod)`

## C#

 `// C# implementation of above approach``using` `System;``class` `GFG``{`` ` `// computing (a^b)%c``static` `long` `modpow(``long` `base1, ``long` `exp, ``long` `modulus) ``{``    ``base1 %= modulus;``    ``long` `result = 1;``    ``while` `(exp > 0) {``        ``if` `((exp & 1)>0) result = (result * base1) % modulus;``            ``base1 = (base1 * base1) % modulus;``            ``exp >>= 1;``    ``}``    ``return` `result;``}`` ` `    ``public` `static` `void` `Main()``    ``{``        ``long` `n = 654654;``        ``long` `mod = 971;``        ``Console.WriteLine(((modpow(n, 6, mod)+modpow(n, 2, mod))% mod + 355)% mod);``    ``}``}``// This code is contributed by mits;`

## PHP

 ` 0) ``    ``{``        ``if` `(``\$exp` `& 1) ``\$result` `= (``\$result` `* ``\$base``) % ``                                        ``\$modulus``;``        ``\$base` `= (``\$base` `* ``\$base``) % ``\$modulus``;``        ``\$exp` `>>= 1;``    ``}``    ``return` `\$result``;``}`` ` `// Driver code``\$n` `= 654654;``\$mod` `= 971;``echo` `(((modpow(``\$n``, 6, ``\$mod``) +``        ``modpow(``\$n``, 2, ``\$mod``)) % ``        ``\$mod` `+ 355) % ``\$mod``);`` ` `// This code is contributed by mits``?>`
Output:
```450
```

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up