9) Special Pythagorean triplet

A Pythagorean triplet is a set of three natural numbers, a b c, for which, a2 + b2 = c2 For example, 32 + 42 = 9 + 16 = 25 = 52. There exists exactly one Pythagorean triplet for which a + b + c = 1000. Find the product abc.

by fosco

JavaScript

var s = 1000,
    value = 0;

console.time('Brute');
for (var a = 1; a <= s; a++) {
    for (var b = a; b <= s; b++) {
        var c = Math.sqrt(a * a + b * b);

        if (a + b + c === s) {
            value = a * b * c;
            break;
        }
    }
    if (value !== 0) {
        break;
    }
}
console.timeEnd('Brute'); // 5.781ms
console.log(value); //31875000

var s = 1000,
    value = 0, 
    a = 0,
    b = 0,
    c = 0;
//http://en.wikipedia.org/wiki/Pythagorean_triple

console.time('M and N');
for (var n = 1; n <= s; n++) {
    for (var m = n; m <= s; m++) {
        a = m * m - n * n;
        b = 2 * m * n;
        c = m * m + n * n;
       
        if (a + b + c === s) {
            value = a * b * c;
            break;
        }
    }
    if (value !== 0) {
        break;
    }
}

console.timeEnd('M and N'); // 0.190 ms
console.log(value); //31875000