public void updateAndSet() {
int n = board.getBaseSize();
for (int row = 0; row < n; row++) {
for (int col = 0; col < n; col++) {
BigCell bigCell = board.getBigCell(row, col);
for (int value : board.getValuesList()) {
int uniqueRow = bigCell.findUniqueRowFor(value);
if (uniqueRow >= 0) {
checkAndSetRowOutside(bigCell, uniqueRow + row * n, value);
}
int uniqueCol = bigCell.findUniqueColFor(value);
if (uniqueCol >= 0) {
checkAndSetColOutside(bigCell, uniqueCol + col * n, value);
}
}
}