# Solving systems of equations always returns [ ]

Suppose I have the set of equations and I'm trying to solve for f1, f2 and f3:

I've tried solving it in the following way

```
eq1 = f1 == a + b + f2
eq2 = 2*f2 == c + d + f1
eq3 = f3 == f1 + f2
solve([eq1,eq2,eq3],f1,f2,f3)
[]
```

This is easy to solve using matrices, and I have double-checked that the answer is fully constrained, so why does sage always return [ ]? I would have expected answers for f1, f2 and f3 in terms of a, b , c and d. Is there another argument to solve() that tells Sage what I want my answer in terms of?

I would prefer to use solve() instead of matrices both for the sake of convenience and if I have a nonlinear system later on.

That's odd. I used your code and got: