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 :229137999Output :218194447Input :344936985Output :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

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

**Output:**

218194447

Please refer complete article on Find sum of Series with n-th term as n^2 – (n-1)^2 for more details!