// Начальное присваивание граничных условий
for (int b = 0; b <= 9; ++b)
f[b][1] = 1;
// Обратный ход динамического программирования
for (int i = 2; i <= 7; ++i) {
for (int b = 0; b <= 9; ++b) {
// наладь рекуррентную формулу
// f(b, i) = Σ {c=сосед(b)} f(c, i−1).
// сам
}
}