Problem 9

#include <iostream>
#include <cmath>
using namespace std;

#define SUM 1000

int
main(int argc, char **argv)
{
    int ans = -1;
    bool f = false;

    for (int a = 1; a < SUM; a++)
    {
        for (int b = a+1; b < SUM; b++)
        {
            int c = SUM - (a+b);
            if (a > b || b > c)
            {
                break;
            }

            if ((floor)(pow((double)a, 2.0) + pow((double)b, 2.0)) == floor(pow((double)c, 2.0)))
            {
                ans = a*b*c;
                f = true;
            }

            if (f)
            {
                break;
            }
        }
        if (f)
        {
            break;
        }
    }

    cout << ans << endl;
    
    return 0;
}