public static IList <SvgConstraint> Generate(int[] sudoku)
        {
            var constraints = new List <SvgConstraint>();

            foreach (var isCol in new[] { false, true })
            {
                for (var rowCol = 0; rowCol < 9; rowCol++)
                {
                    constraints.Add(new Battlefield(isCol, rowCol, BattlefieldUniquenessConstraint.CalculateBattlefieldClue(Ut.NewArray(9, x => sudoku[isCol ? (rowCol + 9 * x) : (x + 9 * rowCol)]))));
                }
            }
            return(constraints);
        }
 public override bool Verify(int[] grid) => BattlefieldUniquenessConstraint.CalculateBattlefieldClue(GetAffectedCells(false).Select(cell => grid[cell]).ToArray()) == Clue;