# why can't sage solve the equation x^n == 2*x ?

```
sage: var('x n')
(x, n)
sage: solve(x^n==2*x,x)
[x == 1/2*x^n]
```

This is not what I expect.

Who can help?

Thanks.

why can't sage solve the equation x^n == 2*x ?

asked
**
2013-07-22 06:50:43 -0500
**

This post is a wiki. Anyone with karma >750 is welcome to improve it.

```
sage: var('x n')
(x, n)
sage: solve(x^n==2*x,x)
[x == 1/2*x^n]
```

This is not what I expect.

Who can help?

Thanks.

0

Since you named one variable n I assume you meant integer. But even this has infinitely many solutions! Sage can give them for specific n:

```
sage: [solve(x^n==2*x,x) for n in range(1,5)]
[[x == 0],
[x == 0, x == 2],
[x == -sqrt(2), x == sqrt(2), x == 0],
[x == 1/2*I*sqrt(3)*2^(1/3) - 1/2*2^(1/3), x == -1/2*I*sqrt(3)*2^(1/3) - 1/2*2^(1/3), x == 2^(1/3), x == 0]]
```

Asked: **
2013-07-22 06:50:43 -0500
**

Seen: **342 times**

Last updated: **Jun 30 '14**

Extended Euclid with polynomials

determine consistency of nonlinear system of equations

solve equation with double sum

exponential equation solve problem

How to make solve to use certain variables on the right side

solve an equation in terms of an expression?

Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.

One issue here is that after declaring that x and n are symbolic variables, Sage still does not know anything more than that about x and n. So, Sage does not know whether x and n are reals, integers, etc. Thus, we need to `assume(n,'integer')` and `assume(x,'real')`. Unfortunately, at this point, you still don't get a solution. Sage is calling Maxima to solve this equation, and I cannot get Maxima to solve it either. Ideas?