Best way to solve equations with logarithms?



> simplified the example to send it to the list.

As the Emacs bug reporting guidelines say, "The most important principle
in reporting a bug is to report _facts_.  Hypotheses and verbal
descriptions are no substitute for the detailed raw data."
(http://www.gnu.org/manual/emacs-21.2/html_chapter/emacs_33.html#SEC523)

Your hypothesis was that the problem had to do with "simple equations
involving logarithms", but in fact, the problem has to do with the
power; the same problem appears with:

   solve((x+1)^5/x^5=y,x)

though not with

   solve((x+1)^4/x^4=y,x)

which gives a mess coming from the quartic forumula, or with

   solve(f(x)^5=y,x)

which gives 5 solutions of the form f(x)= rootunity * y^(1/5).  I
daresay Maxima could present solutions like this in a more compact form,
using something like %E^(2*%n1*%i*%pi/5), where %n1 ranges over the
integers, just as %r1 ranges over the reals.  SMOP/TBD: Small matter of
programming, to be done.

The trick in your original problem is to prevent the 35 from moving into
the log.  Logcontract only moves integral factors, so if you substitute
q for 35, and then logcontract, things will go much more smoothly:

(C4) eq:35*LOG(3*x+5)-35*LOG(x) = y;
(D4)            35 LOG(3 x + 5) - 35 LOG(x) = y
(C5) subst(q,35,%);
(D5)             q LOG(3 x + 5) - q LOG(x) = y
(C6) logcontract(%);
                            3 x + 5
(D6)                  q LOG(-------) = y
                               x
(C7) solve(%,x);
                                 5
(D7)                    [x = ---------]
                               y/q
                             %E    - 3
(C8) subst(35,q,%);
                                5
(D8)                   [x = ----------]
                              y/35
                            %E     - 3