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.