# Different syntax to solve

I've below equation( j.mp/sage_emi ) involving 4 variables. I've fixed 3 variables' values, but can't get the 4th variables' value (both, including numerical). Can someone fix the code? Manually, I can get the answer for emi as 1210/21.

P, emi, rate, duration = var("P emi rate duration")
eq1 = P = emi * (( 1 + rate / 100)^ duration - 1) / (rate / 100) / (1 + rate /100)^ duration
solve([eq1, P == 100, duration == 2, rate == 10], emi)

It would be helpful if someone writes 2,3 different sage code to achieve the same above objective.

I'm just curious can we do this:

solve([eq1], rate)
edit retag close merge delete

Sort by ยป oldest newest most voted
P, emi, rate, duration = var("P emi rate duration")
eq1 = P == emi * (( 1 + rate / 100)^ duration - 1) / (rate / 100) / (1 + rate /100)^ duration
eq2 = eq1.subs(P=100,duration=2,rate=10)
solve(eq2, emi)

Please note the double equal sign ( == ) between P and emi* ...

more

Thanks for the neat code. Can you please explain why the below code doesn't work:

P, emi, rate, duration = var("P emi rate duration")
eq1 = P == emi * (( 1 + rate / 100)^ duration - 1) / (rate / 100) / (1 + rate /100)^ duration
eq3 = P == 100
eq4 = duration == 2
eq5 = rate == 10
sol = solve([eq1, eq3, eq4, eq5], emi)

It looks like 4 equations, and only one variable to solve.

( 2016-05-13 13:02:36 -0600 )edit

Apart from the good answer given by @ndomes , here are some codes:

In eq1, correct the sign between P and emi (and I think the number of "variables to solve for" should be atleast equal to number of equations to get a solution):

P, emi, rate, duration = var("P emi rate duration")
eq1 = P == emi * (( 1 + rate / 100)^ duration - 1) / (rate / 100) / (1 + rate /100)^ duration
solve([eq1, P == 100, duration == 2, rate == 10], [emi, P, duration, rate])

The below code is same but visually different:

P, emi, rate, duration = var("P emi rate duration")
eq1 = P == emi * (( 1 + rate / 100)^ duration - 1) / (rate / 100) / (1 + rate /100)^ duration
eq3 = P == 100
eq4 = duration == 2
eq5 = rate == 10
solve([eq1, eq3, eq4, eq5], [emi, P, duration, rate])
more

## Stats

Seen: 156 times

Last updated: May 14 '16