What is the iff condition for a preference with linear Engel curves (all Engal curves are linear)? If we restrict the consumption at $\mathbb R_+^n$, then it seems like we are implicitly assuming that the Engel curve pass through the origin, so the iff condition would be homothetic preference.

However, if we let $x\in\mathbb R^n$, other classes of preference would also give linear Engel curves. For example, those represented by a quasi linear utility in two dimensions: $u(x)=x_1+f(x_2)$; in this case, the Engel curves are parallel lines.



It could be assumed that, as in the standard consumer theory, the preference is non-satiated and continuous, so the indifference sets are curves.
Are negative incomes (perhaps even negative prices) also allowed? Unless they are, non-horizontal or non-vertical lines are impossible as Engel curves because they have to intersect the negative quadrant of the coordinate system. I will come back to this later.



Without additional restrictions (perhaps a lot of additional restrictions) on the preference relations, for any non-negative sloped line I can fabricate a utility function such that the line will be its Engel curve.

Let the line $L$ consist of the points $((x,y)\in\mathbb{R}^2|c = a \cdot x + b \cdot y)$ where $a,b,c \in \mathbb{R}$. I will denote this set of points by $L$, the line. It is assumed that we are talking about an actual line, so $a,b$ are not simultaneously equal to $0$.

Let 
$$
U(x,y) = \left\{\begin{array}{lc}
\arctan (b \cdot x + a \cdot y) &amp; \text{ if } (x,y) \in L \\
-\pi &amp; \text{ if } (x,y) \notin L. 
\end{array}
\right.
$$

Claim The utility function will always be maximized by a point on $L$.

This is easy, because $\arctan$ maps to $(-\frac{\pi}{2},\frac{\pi}{2})$, thus its points always yield greater utility than other points. We specified that the slope of $L$ is non-negative, so for any positive price pair the budget line will cross it, enabling us to chose a point on $L$.



We now come back to the question of whether income $I$ can be negative. If they can be, than every point $L$ will be a solution of the consumers utility maximization problem for a certain $I,p_x,p_y$. The reason for this is that $b \cdot x + a \cdot y$ creates an ordering of the points of $L$. (Lines perpendicular to $L$ have a slope of $-b/a$, these are the level curves of $b \cdot x + a \cdot y$.) Select a point $(x_0,y_0) \in L$. By setting $I$ to
$$
I = p_x \cdot x_0 + p_y \cdot y_0,
$$
the consumer has barely enough money to purchase this basket. If $L$ is non-negative sloped and prices are positive then no points with higher utility are attainable.



The construction I gave is not unique. One could also use the continuous utility function
$$
\hat{U}(x,y) = \min\left(a \cdot \left(x - \frac{c}{a} \right); - b \cdot y\right)
$$
to achieve the same result. (If $a = 0$ one may use
$$
\hat{U}(x,y) = \min\left(a \cdot x; - b \cdot \left(y - \frac{c}{b} \right)\right)
$$
instead.)