### why can't I compute the zeros of an integer polynomial using solve()?

This works fine, producing complex roots:

```
x=var('x')
f=x+x**2+x**3-100
z=solve(f==0,x)
```

this also works fine:

```
R.<x>=ZZ[]
f=x+x**2+x**3-100
f.roots()
```

but this seems to run forever without error message and I don't understand why:

```
x=var('x',domain=ZZ)
f=x+x**2+x**3-100
z=solve(f==0,x)
```

can anyone explain or tell me where to start reading to understand this behaviour?