What you have there is a (rather complicated) transcendental equation; in a situation like this, it is often profitable to help Mathematica out and try to do a few simplifications of your own before feeding equations to a solver...
–
Ｊ. Ｍ.Oct 21 '12 at 15:44

minthao, you were a bit fast accepting the first given answer (and not only because I added mine later ;-) ). It is usually a good idea to wait a couple of hours or even days for your accept so that more people might be tempted to react.
–
Sjoerd C. de VriesOct 21 '12 at 17:25

@acl When I evaluate all input in your answer and then evaluating (points = Plot[expr, {x, xlow, xhigh}][[1, 1, 3, 3, 1]]) // Shallow I get Part::partw: Part 3 of {Hue[0.67,0.6,0.6],Line[{{6.12245*10^-8,6.94786},{0.000920154,6.93813},{0.001840‌​25,6.92841},{0.00368043,6.90899},<<44>>,{1.29535,-0.785195},{1.3027,-0.796846},<<‌​220>>}]} does not exist. >> and then everything fails.
–
ArtesOct 21 '12 at 19:43

@Artes strange, I just copied the expression in your comment and it does work. what version of mma are you using? have you set any default options on Plot?
–
aclOct 21 '12 at 20:44

This equation has many more 'nice' valued roots than you think. Let's see what a man-machine cooperation can find. I'm going to take fairly rough steps and back-substitute the results to see whether I stepped on any mathematician's toes in the process.

First, let's move everything to one side of the equation and whisk everything on that side together:

Since it is easy to see that (3+x)(2+3*x) == (6 + 11 x + 3 x^2) the right hand part of the above equation equals zero if (6 + 11 x + 3 x^2)==0.

Solve[6 + 11 x + 3 x^2 == 0, x]

{{x -> -3}, {x -> -(2/3)}}

Let's further explore that part of the numerator of (1). We take the log of both parts (allowed because the whole term between parenthesis should equal zero, add a few minus signs to make everything still zero). Rewrite the logs using a few rules for logarithms:

However, as acl, Artes and Whuber have pointed out, some of these have a problem. For x =-3 we get a Log[2,0] in the first term of the left-hand side of the equation that Mathematica cancels with another Log[0]; same for the second term and x = -2/3. The situation for x=-2 is different. You get logs of negative numbers like Log[-4] which have a complex answer that depending on the branch cut definition that is being used. In this case we get I Pi + Log[4]. If you do Exp[I Pi + Log[4]], you get -4. So, depending on your stance on branch cuts you might consider the full set of solution to be {-2, 1, 2}. And if you don't like the first one, we've still found 1 and 2 as exact values, not with numerical root finding approximations.

$-3$ and $-2/3$ are "solutions" only in an unconventional sense that Mathematica evaluates both sides to "$-\infty$". $-2$ is a solution only for a particular convention concerning logarithms of negative numbers, which one ordinarily should be cautious about and at least deserves a flag.
–
whuberOct 21 '12 at 21:27

If you plot Plot[Abs@expr, {x, -5, 5}] (with expr as in my answer) you can see it's inconsistent with this result. I don't have time to work out what is going on, but, as always when there are logs involved, Mathematica is probably doing something dodgy with the branch cuts. minimizing the risk of such problems is why I did this numerically and in the real domain. (no I didn't downvote this).
–
aclOct 21 '12 at 21:35

Now it seems OK, -2 is not a singular point but one shouldn't consider this to be a solution, (I haven't downvoted your answer) Exp[-2 + 2 Pi I] == Exp[-2], using Simplify or FullSimplify on f[-2] you can get 0 because of the nature of these functions (they cancel nonuniqueness of Log). Reduce and Solve are free of that ambiguity.
–
ArtesOct 21 '12 at 22:40

The most reliable approach to the problem uses Reduce, one can also use Solve. However one should restrict the complex domain to a compact subset or should add the domain specifications like e.g. Reals, remembering that Mathematica treats numbers as complex in general.

In Mathematica 7Root had been considerably updated to include these capabilities:

Root[{f, x0}] represents an exact root of the general equation f[x]==0, which can
be transcendental.

In Root[{f, x0}], x0 must be an approximate real or complex number such that exactly one root of f[x] lies within the numerical region defined by its precision.

Root[{f, x0, n}] represents n roots, counting multiplicity, that lie within the
numerical region defined by the precision of x0.

The reason is that logarithm is not well defined in the whole complex plain, there must be certain branch cut or more generally one should view it as a function on a Riemann surface. Therefore we should rely on the Reduce output rather than on Simplify.

This doesn't find all the solutions that I found. See my answer.
–
Sjoerd C. de VriesOct 21 '12 at 18:05

No, these methods (Solve, Reduce) are more reliable than yours, these are not the solutions to the given equation, but to that transformed one. That is because e.g. Log[2, 0] yields -Infinity, etc..
–
ArtesOct 21 '12 at 19:18

What transformed one? If you read my answer (esp. the bottom part) you'll see that I back-substituted all solutions in the original equation and five of them really seem to be solutions. Try it yourself.
–
Sjoerd C. de VriesOct 21 '12 at 19:40

Taking to heart the advice given by J.M. in a comment to the question, after finding that the brute-force method of just asking for a solution falls short, we might consider using Mathematica as a tool to support the operations we would think of carrying out when solving such an equation.

Staring at the equation suggests several methods might be fruitful:

Subtracting one side from the other, thereby enabling one expression to be simplified fully.

For some reason, the penultimate expressions do not evaluate correctly. Although other threads have been related to similar problems with logarithms (such as simplifying $\frac{\log x^a}{a} = \log x$), they do not appear fully to discuss why expressions like, say, 3 == Log[8]/Log[2] evaluate to False whereas (3 - Log[8]/Log[2] // Simplify) == 0 will evaluate to True. This apparent contradiction casts doubt on the easy--but probably not fully correct--explanation that the logarithm is a many-valued function.

Mathematica is a registered trademark of Wolfram Research, Inc. While the mark is used herein with the limited permission of Wolfram Research, Stack Exchange and this site disclaim all affiliation therewith.