# Find the value of the function Y = (X^6 + X^2 + 9894845) % 971

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
```

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.