数独の正解確認のプログラムを作りたい

数独の正解確認のプログラムを作りたい
https://okwave.jp/qa/q9544201.html

やっぱり頭のネジが緩んでるな。間違いだらけだった。

let A = [
7,6,1, 3,5,2, 8,4,9,
5,8,2, 9,4,1, 3,7,6,
4,9,3, 7,6,8, 2,1,5,

6,2,8, 4,7,3, 9,5,1,
9,7,4, 1,2,5, 6,3,8,
3,1,5, 8,9,6, 4,2,7,

2,5,7, 6,8,4, 1,9,3,
8,3,9, 2,1,7, 5,6,4,
1,4,6, 5,3,9, 7,8,2

];

const
  SQRT = Math.sqrt,
  INT  = Math.floor,
  
  MAX  = SQRT (A.length),
  AREA = SQRT (MAX),
  COUNT = [...new Array (MAX)],
  
  slice = (i, n = AREA) => A.slice (i, i + n),
  
  is_aligned = ary => {
    let a = new Set (ary);
    return ary.every ((_, i) => a.has (i + 1));
  },
  
  getRow = row => slice (row * MAX, MAX), 
  getCol = col => COUNT.map ((_, i) => A[col + i * MAX]),
  getArea = area => {
    let i = INT (area / 3) * MAX * AREA + (area % AREA) * AREA;
    return slice (i).concat (slice (i + MAX), slice (i + MAX * 2));
  },
  
  check = () =>
    COUNT
    .reduce ((rst, _, i) => rst.concat ([getRow (i), getCol (i), getArea (i)]), [])
    .every (a => is_aligned (a));


alert (check () ? "出来た!": "できてな〜い!");