I am getting the message

Reduce::nsmet: This system cannot be solved with the methods available to Reduce.

while trying to solve the following equation:

Assuming[n ∈ Integers, Reduce[p + 2 s == (2 r (p + 2 b) + 2 b + p) (2 r + 1)^n, r, Reals]]

How can I get my code to work?

  • $\begingroup$ Not an answer, but it good to be aware that Assuming only works with functions that take an Assumptions option, which Reduce doesn't. You can append && Element[n, Integers] to the equation instead. $\endgroup$ – Szabolcs Dec 13 '13 at 18:14

You can get a solution from Solve. Your equation can be rewritten

(1 + 2 r)^(1 + n) == (p + 2 s)/(2 b + p)

Making what I hope you can accept as a reasonable assumption about 2 b + p, I evaluated

Assuming[n ∈ Integers && 2 b + p != 0, 
  Solve[(1 + 2 r)^(1 + n) == (p + 2 s)/(2 b + p), r]]

Solve::ifun: Inverse functions are being used by Solve, so some solutions may not be found; use Reduce for complete solution information. >>

{{r -> 1/2 (-1 + (p/(2 b + p) + (2 s)/(2 b + p))^(1/(1 + n)))}}

In this case, Reduce won't do any good, but perhaps you can live without knowing if the solution found by Solve may not be complete. I think you need only note that the formal solution fails for n = -1.

  • $\begingroup$ nice I missed that simple factoring ... $\endgroup$ – tchronis Dec 13 '13 at 8:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.