We are given an integer n and n-th term in a series as expressed below:

T_{n}= n^{2}- (n-1)^{2}

We need to find S_{n} mod (10^{9} + 7), where S_{n} is the sum of all of the terms of the given series and,

S_{n}= T_{1}+ T_{2}+ T_{3}+ T_{4}+ ...... + T_{n}

Examples:

Input : 229137999 Output : 218194447 Input : 344936985 Output : 788019571

Let us do some calculations, before writing the program. T_{n} can be reduced to give 2n-1 . Let’s see how:

Given, T_{n}= n^{2}- (n-1)^{2}Or, T_{n}= n^{2}- (1 + n^{2}- 2n) Or, T_{n}= n^{2}- 1 - n^{2}+ 2n Or, T_{n}= 2n - 1.

Now, we need to find ∑T_{n}.

∑T_{n} = ∑(2n – 1)

We can simplify the above formula as,

∑(2n – 1) = 2*∑n – ∑1

Or, ∑(2n – 1) = 2*∑n – n.

Where, ∑n is the sum of first n natural numbers.

We know the sum of n natural number = n(n+1)/2.

Therefore, putting this value in the above equation we will get,

∑T_{n} = (2*(n)*(n+1)/2)-n = n^{2}

Now the value of n^{2} can be very large. So instead of direct squaring n and taking mod of the result. We will use the property of modular multiplication for calculating squares:

(a*b)%k = ((a%k)*(b%k))%k

Below is the implementation of above idea:

## CPP

`// CPP program to find sum of given` `// series.` `#include<bits/stdc++.h>` `using` `namespace` `std;` `#define mod 1000000007` `// Function to find sum of series` `// with nth term as n^2 - (n-1)^2` `long` `long` `findSum(` `long` `long` `n)` `{` ` ` `return` `((n%mod)*(n%mod))%mod; ` `}` `// Driver code` `int` `main()` `{` ` ` `long` `long` `n = 229137999; ` ` ` `cout << findSum(n);` ` ` `return` `0;` `}` |

## Java

`// Java program to find sum of given` `// series.` `public` `class` `FINDSUM {` ` ` ` ` `static` `long` `mod = ` `1000000007` `;` ` ` ` ` `public` `static` `long` `findSum(` `long` `n)` ` ` `{` ` ` `return` `((n % mod) * (n % mod)) % mod; ` ` ` `}` ` ` ` ` `public` `static` `void` `main(String[] args) {` ` ` `long` `n = ` `229137999` `; ` ` ` `System.out.print (findSum(n));` ` ` `}` `}` `// Contributed by _omg` |

## Python 3

`# Python program to find sum of given` `# series.` `mod ` `=` `1000000007` `def` `findSum(n):` ` ` `return` `((n ` `%` `mod) ` `*` `(n ` `%` `mod)) ` `%` `mod` ` ` ` ` `# main()` `n ` `=` `229137999` `print` `(findSum(n))` `# Contributed by _omg` |

## C#

`// C# program to find sum of given` `// series.` `using` `System;` `class` `GFG` `{` ` ` `static` `long` `mod = 1000000007;` ` ` ` ` `static` `long` `findSum(` `long` `n)` ` ` `{` ` ` `return` `((n % mod) * (n % mod)) % mod; ` ` ` `}` ` ` `public` `static` `void` `Main()` ` ` `{` ` ` `long` `n = 229137999;` ` ` `Console.Write (findSum(n));` ` ` `}` `}` `// This code is contributed by _omg` |

## PHP

`<?php` `// PHP program to find` `// sum of givenseries.` `$mod` `= 1000000007;` `// Function to find sum of series` `// with nth term as n^2 - (n-1)^2` `function` `findSum(` `$n` `)` `{` ` ` `global` `$mod` `;` ` ` `return` `((` `$n` `% ` `$mod` `) *` ` ` `(` `$n` `% ` `$mod` `)) % ` `$mod` `;` `}` `// Driver code` `$n` `= 229137999;` `echo` `(findSum(` `$n` `));` `// This code is contributed by Ajit.` `?>` |

## Javascript

`<script>` ` ` `// Javascript program to find sum of given series.` ` ` ` ` `let mod = 1000000007;` ` ` ` ` `function` `findSum(n)` ` ` `{` ` ` `return` `((n % mod) * (n % mod)) % mod + 1; ` ` ` `}` ` ` ` ` `let n = 229137999;` ` ` `document.write(findSum(n));` ` ` `</script>` |

**Output:**

218194447

**C++ Foundation Course**for Basic to Advanced C++ and

**C++ STL Course**for the language and STL. To complete your preparation from learning a language to DS Algo and many more, please refer

**Complete Interview Preparation Course**

**.**