Problem

Continuing to work my way through some of of Project Euler. Problem 6 solved by my code below. Is it better to use `sumOfTheSquares += i*i`

or utilize `Math.Pow()`

?

The sum of the squares of the first ten natural numbers is,

12+22+...+102=385${1}^{2}+{2}^{2}+...+{10}^{2}=385$The square of the sum of the first ten natural numbers is,

(1+2+...+10)2=552=3025$(1+2+...+10{)}^{2}={55}^{2}=3025$Hence the difference between the sum of the squares of the first ten natural numbers and the square of the sum is 3025 − 385 = 2640.

Find the difference between the sum of the squares of the first one hundred natural numbers and the square of the sum.

```
class Program
{
static void Main(string[] args)
{
Console.WriteLine(SumSquareDifference(100));
Console.ReadLine();
}
static int SumSquareDifference(int upperValue)
{
int sumOfTheSquares = 0;
for (int i = 1; i <= upperValue; i++)
{
sumOfTheSquares += (int)Math.Pow(i,2); //Can't formulate this myself...
}
int squareOfTheSums = (int)Math.Pow((upperValue + 1) * (upperValue / 2),2);
return squareOfTheSums - sumOfTheSquares;
}
}
```

Solution

I don’t know about the difference between `sumOfTheSquares += i*i`

and `Math.pow()`

but the sum of squared of first n natural numbers is as follows

12+22+32+42=n(n+1)(2n+1)6${1}^{2}+{2}^{2}+{3}^{2}+{4}^{2}={\displaystyle \frac{n(n+1)(2n+1)}{6}}$

So its faster than using a for loop

Edit: General way to prove this is to use mathematical induction

Here’s a link!