I implemented this in Excel, and got the following table for n = 1 through 20
n a(n) b(n) c(n) d(n)
1 1.000000
2 .250000 .750000
3 .062500 .562500 .375000
4 .015625 .328125 .562500 .093750
5 .003906 .175781 .585938 .234375
6 .000977 .090820 .527344 .380859
7 .000244 .046143 .440918 .512695
8 .000061 .023254 .353760 .622925
9 .000015 .011673 .276947 .711365
10 .000004 .005848 .213547 .780602
11 .000001 .002927 .163084 .833988
12 .000000 .001464 .123776 .874759
13 .000000 .000732 .093564 .905703
14 .000000 .000366 .070539 .929094
15 .000000 .000183 .053088 .946729
16 .000000 .000092 .039907 .960001
17 .000000 .000046 .029976 .969978
18 .000000 .000023 .022505 .977472
19 .000000 .000011 .016890 .983098
20 .000000 .000006 .012673 .987321
The requested probability, d(7), is approximately .512695.
And yes, I know this can be done exactly using combinatorics.