по формуле из википедии 1 пост
генератор правильных комбинаций для пятнашек 
function gen() {
         function f(a) {
             for (var b = 4, c = 0; c < a.length - 1; c++) {
                 !a[c] && (b -= 4 - c / 4 | 0);
                 for (var d = c + 1; d < a.length; d++) a[c] && a[d] && a[d] < a[c] && b++
             }
             return !(b % 2)
         }
         for (var a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 14, ""]; !f(a);)
             for (var b = a.length - 1; 0 < b; b--) {
                 var e = Math.floor(Math.random() * (b + 1)),
                     g = a[e];
                 a[e] = a[b];
                 a[b] = g
             }
         return a
     };
 alert(gen());
функцию f можно использовать для проверки правильности автономно - на входе массив 15 чисел и пусто на выходе true/false