# 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 -0600
**

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 -0600
**

Seen: **352 times**

Last updated: **Jun 30 '14**

determine consistency of nonlinear system of equations

AttributeError: 'dict' object has no attribute 'solve'

Solve system of equations with additional conditions in sage

solve an equation in terms of an expression?

How to get all (numerical) solutions of an equation?

Finding integer solutions to systems of polynomial equations

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?