b:= proc(n, t, c) option remember; `if`(c<0, 0, `if`(n=0, 1,
b(n-1, [2, 4, 6, 4, 6, 4, 6][t], c-`if`(t=5, 1, 0))+
b(n-1, [3, 5, 7, 5, 7, 5, 7][t], c+`if`(t=6, 1, 0))))
end:
a:= n-> b(n, 1, 0):
seq(a(n), n=0..40);
# Alternative:
a:= proc(n) option remember; `if`(n<6, [1, 2, 4, 7, 13, 24][n+1],
((680+1441*n-444*n^2+35*n^3) *a(n-1)
-(4*(-112+625*n-179*n^2+14*n^3)) *a(n-2)
+(2*(1521-656*n+63*n^2)) *a(n-3)
+(2*(-9442+5295*n-947*n^2+56*n^3)) *a(n-4)
-(4*(-6721+3413*n-591*n^2+35*n^3)) *a(n-5)
+(4*(2*n-11))*(7*n^2-79*n+254) *a(n-6)
)/((n+1)*(7*n^2-93*n+340)))
end:
seq(a(n), n=0..40);