teaching Maxima logarithms



> Doesn't this work?

> (%i5) eq : y = log10(x);
> (%o5) y=log10(x)

> (%i6)   log10_to_log(ex) := subst(lambda([x],log(x)/log(10)),'log10,ex)$

> (%i7) log10_to_log(eq);
> (%o7) y=log(x)/log(10)

> (%i8) solve(%,x);
> (%o8) [x=%e^(log(10)*y)]

That definitely works, but my desire is to strip off any vestiges of e or
log(10) in the output. What I would really like to see is:
  (%o8) [x=10^y)]
or more generally
  (%o8) [x={base n}^y] 

Robert Dodier points out that maybe the way to approach this is to take
advantage of all of the built in log goodness Maxima has to offer and
postprocess the data afterwards. This might be perfectly acceptable if I
could do it with minimum fuss.

If anyone has suggestions on where I might look to find the postprocessing
functions, I'd sure appreciate it. The Rules and Patterns section of the
User Manual looks promising but I haven't had the time to read and
understand all of the functions there. 

--Bill Eaton