Должна ли ваша функция быть рекурсивной? Вы знаете, что в этом массиве всего 3 измерения, так что алгоритм, который сканирует весь массив от начала до конца, может быть реализован с использованием не более 3 вложенных циклов (2 для идентификации текущей ячейки и одно для итерации по всем 10 значениям в ячейка).
На этой ноте, когда вы говорите «удерживая возможные значения ячейки», есть ли в этой ячейке 10 отдельных целых, которые нужно отслеживать? Если вместо этого это просто int, у которого есть 10 возможных различных значений, то это третье измерение массива не требуется. Хотя может быть 10 возможных значений, ячейка может содержать только одно из них за раз.