def find_unfinished_neighbors(board, n_bomb, squares):
    """
    Returns a list of squares that have not discovered all their bombs yet 
    and are neighbors to the squares parsed in the 'squares' list.
    """
    unfinished = []
    for row, column in squares:
        for i in range(max(0, row - 1), min(len(board), row + 2)):
            for j in range(max(0, column - 1), min(len(board[0]), column + 2)):
                    if board[i][j].isdigit() and int(board[i][j]) != n_bomb[i][j] and not (i == row and j == column):
                        unfinished.append((i, j))
    return unfinished