public boolean conflict(int row, int col, int val) {
        //System.out.println("Looking for conflict at: ("+row+","+col+") with value: "+val);
        for (int k = 0; k < 9; ++k) {
            if (val == board[k][col].getValue()) {
                return true;
            }
        }

        for (int k = 0; k < 9; ++k) {
            if (val == board[row][k].getValue()) {
                return true;
            }
        }

        int boxRowOffset = (row / 3) * 3;
        int boxColOffset = (col / 3) * 3;
        for (int k = 0; k < 3; ++k) {
            for (int m = 0; m < 3; ++m) {
                if (val == board[boxRowOffset + k][boxColOffset + m].getValue()) {
                    return true;
                }
            }
        }

        System.out.println("Looking for conflict at: (" + (row + 1) + "," + (col + 1) + ") with value: " + val + ". None detected.");

        return false;
    }