When Maxima fails to find a symbolic solution, you can always try to find a numeric solution instead:
(%i1) eq1:43=%pi/4*d*d*h$
(%i2) eq2:d1=d0-2*h$
(%i3) eq3:d0=9$
(%i4) eq4:d=(d0+d1)/2$
(%i5) solve(float([eq1,eq2,eq3,eq4]),[d,d1,h,d0]);
(%o5) [[d = 3.02775290957923, d1 = - 2.9444945848375452,
h = 5.972247918593895, d0 = 9.0], [d = - 2.209973166368515,
d1 = - 13.41994750656168, h = 11.20997375328084, d0 = 9.0],
[d = 8.182220434432823, d1 = 7.364440868865648, h = 0.8177795655671762,
d0 = 9.0]]