I'm quite new to programming and am working through Project Euler to help me learn. I'm on problem 4 at the moment and the challenge is to do this:

> 
> A palindromic number reads the same both ways. The largest palindrome
>  made from the product of two 2-digit numbers is 9009 = 91 × 99.
> 
> 
> Find the largest palindrome made from the product of two 3-digit
>  numbers.
> 
> 
> 

Source: <https://projecteuler.net/problem=4>

I decided to set this up with two for loops making integers from 100-999, multiply them together, reverse the product then see if they're the same but my loop for i is spiralling much higher than 999 and I can't work out why. Here's the code:

```
// Problem 4 - Find the largest palindrome made 
// from the product of two 3-digit numbers.

long result = 0;

for (int i = 100; i < 999; i++)
{
    for (int j = 100; j < 999; i++)
    {
        long product = i * j;
        long reverse = Convert.ToInt64(Maths.Reverse(product.ToString()));

        if (product == reverse)
        {
            if (product > result)
            {
                result = product;
            }
        }
    }
}
Console.WriteLine("Palindrome: " + result);

```

If I include this line to log the results:

```
Console.WriteLine("i = " + i + ", j = " + j + ", SUM = " + i * j);

```

I can see i increasing what seems infinitely.

Any help would be greatly appreciated!