# How can I solve this equation: $(47^{(u + 1)} + 3^{(u + 1)})/(u + 1) ==50^{1.5}/1.5$?

Solve[(47^(u + 1) + 3^(u + 1))/(u + 1) ==(50^1.5)/1.5,u]

The code I tried is above, but it showed me a message problem

"Solve was unable to solve the system with inexact coefficients or the \ system obtained by direct rationalization of inexact numbers present \ in the system. Since many of the methods used by Solve require exact \ input, providing Solve with an exact version of the system may help."

Anyone has any ideas?

I made a Plot too and it worked. So I don't understand why solve failed.

Plot[(47^(u + 1) + 3^(u + 1))/(u + 1), {u, -50, 50},
PlotRange -> {-1, 236}]
• Transcendental equations have no closed-form solutions. en.wikipedia.org/wiki/Transcendental_equation. Try NSolve a numeric solver. Commented Jun 21, 2018 at 14:51
• Solve can find the exact solution in terms of Root objects. Just restrict the domain to real numbers and rewrite $1.5$ as $3/2$. Solve[(47^(u + 1) + 3^(u + 1))/(u + 1) == (50^(3/2))/(3/2), u, Reals] Commented Jun 21, 2018 at 16:55
• Why wouldn't you immediately make the substitution $u+1 \to v$ and evaluate the numerical value on the r.h.s. (or call it $C$), to simplify things? Commented Jun 21, 2018 at 17:36
• Thank you all for your help,I'm new to the software but with your help I've been able to manage!
– MarV
Commented Jun 24, 2018 at 12:45

See the comment by @MariuszIwaniuk. But you still can get the numbers.

With[
{
lhseqn = (47^(u + 1) + 3^(u + 1))/(u + 1),
rhseqn = (50^1.5)/1.5
},
{u, lhseqn} /. Solve@Reduce[
lhseqn == rhseqn
, u
, Reals
]
]

(* {{-0.99133, 235.702}, {0.524412, 235.702}} *)

Plot[
{(3^(1 + u) + 47^(1 + u))/(1 + u), 235.70226039551585}
, {u, -2, 1}
, Epilog -> {
Red,
PointSize[Large],
Point[
{
{-0.9913301038667653, 235.702260395515},
{0.5244122630164348, 235.7022603955158`}
}
]
}]

• Thank you for your answer it was very specific and it helped!
– MarV
Commented Jun 24, 2018 at 12:41

Solve can solve this equation:

Solve[(47^(u+1)+3^(u+1))/(u+1)==(50^(3/2))/(3/2) && Abs[u]<1,u, Reals]

(* {{u->Root[{500 Sqrt[2]-3^(2+#1)-3 47^(1+#1)+500 Sqrt[2] #1&,-0.99133010386676537502}]},{u->Root[{500 Sqrt[2]-3^(2+#1)-3 47^(1+#1)+500 Sqrt[2] #1&,0.52441226301643480967}]}} *)

This is an exact solution!

N[%]

(* {{u->-0.99133},{u->0.524412}} *)
• You don't even need to add Abs[u]<1. At least in v.11.3 Commented Jun 21, 2018 at 19:00
• @roman465. Good observation, thanks. Sometimes such a restriction is necessary. Compare Solve[5/4 Sin[x] == ArcTan[x] , x, Reals], which Mathematica cannot solve, with Solve[5/4 Sin[x] == ArcTan[x] && Abs[x] < 10 , x, Reals], which returns the three solutions. Commented Jun 22, 2018 at 6:27

I have recently been teaching myself to recast root-finding problems in order to use the NDSolve machinery and find multiple roots of a function numerically in one go, so I am taking the opportunity here to give it a go.

First, we recast the equation as a root-finding problem. In other words, instead of looking for $u$ such that lefthandside == righthandside, we look for u such that f[u_] := lefthandside - righthandside crosses zero, if that can be done safely.

We then build a contrived differential equation for which f[u] is a solution and we use NDSolve to solve it, while monitoring the progress of the integration with WhenEvent, looking for zero crossings, which are Sown and collected with Reap:

Clear[f]
f[u_] := (47^(u + 1) + 3^(u + 1))/(u + 1) - (50^1.5)/1.5

sol =
Reap@
NDSolve[{
D[y[u], u] == D[f[u], u], y[0] == f[0],
WhenEvent[y[u] == 0, Sow[u]]},
y, {u, -2, 2}
];

Note that we have to have an idea of the range wherein we might find the roots, in order to set appropriate integration boundaries, but then again that would be necessary with any other numerical method. Also, NDSolve rightfully complains about a discontinuity in this case, but soldiers on. The result contains our root estimates:

sol[[2, 1]]
(* Out: {-0.99133, 0.524412} *)

Showing that in a plot together with the f[x] function:

Show[
Plot[f[u], {u, -2, 2}, PlotRange -> 1000],
ListPlot[
Callout[
{#, 0}, Round[#, 0.001],
LabelStyle -> Directive[Red, Medium]
] & /@ sol[[2, 1]],
PlotStyle -> {Red, PointSize[0.015]}
]
]

The root candidates found with this method can also be further refined using FindRoot, using them as initial conditions for the root search.

This technique has been mentioned before on the site. See e.g. Find all roots of an interpolating function, or How can I find solutions for this equation?, and I am sure in other posts that I might have missed.