class Sudoku {
    constructor() {
        this.arrangement = [...Array(9)].map(_ => Array(9).fill(null))
        this.solids = []
    }
}

exports.module = Sudoku

@@ -78,24 +78,28 @@
 ap(_ =%3E 
+%5B...
 Array(9)
 .fill(nu
@@ -94,44 +94,665 @@
 y(9)
-.fill(null))%0A        this.solids = %5B
+%5D.map(__ =%3E %5B%5D))%0A        this.excluded = %5B...Array(9)%5D.map(_ =%3E %5B...Array(9)%5D.map(__ =%3E %5B%5D))%0A        this.solids = %5B%5D%0A    %7D%0A%0A    getBoxes() %7B%0A        let tuples = arr =%3E arr.map(x =%3E arr.map(y =%3E %5Bx, y%5D)).reduce((sum, x) =%3E %5B...sum, ...x%5D, %5B%5D)%0A%0A        return %5B%0A            // Rows%0A            ...%5B...Array(9)%5D.map((_, i) =%3E %5B...Array(9)%5D.map((__, j) =%3E %5Bi, j%5D)),%0A            // Columns%0A            ...%5B...Array(9)%5D.map((_, i) =%3E %5B...Array(9)%5D.map((__, j) =%3E %5Bj, i%5D)),%0A            // Squares%0A            ...tuples(%5B0, 3, 6%5D).map((%5Btx, ty%5D) =%3E%0A                %5B...Array(3)%5D.map((_, i) =%3E %5B...Array(3)%5D.map((__, j) =%3E %5Bi + ty, j + tx%5D))%0A            )%0A        
 %5D%0A  

Add Sudoku.getBoxes()