# 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 13:50:43 +0200 **

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]]
```

Please start posting anonymously - your entry will be published after you log in or create a new account.

Asked: ** 2013-07-22 13:50:43 +0200 **

Seen: **396 times**

Last updated: **Jun 30 '14**

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?