Market-clearing price vector in an “aggregate demand system”

I suppose this is really an economics question, but I'm posting here for want of a more appropriate forum. My question concerns an aggregate demand system in which we have $n$ variants of a product, and the demand function of variant $i$ is given by $$D_i(p_1,\dots,p_n)$$ where $p_i$ is the price of variant $i$. We assume that $D_i$ is strictly positive for all nonnegative prices, and satisfies the gross substitutes property which says that $$\frac{\partial D_i}{\partial p_j}\geq0 ~~ \forall j\neq i$$ i.e. that if I increase the price of one variant, then the demand for all other variants can only increase. My question is: let's suppose I have some desired demand vector $\mathbf{d} = (d_1,\dots,d_n)$ and I would like to determine a price vector $\mathbf{p}=(p_1,\dots,p_n)$ such that $D_i (p_1,\dots,p_n) = d_i$ for all $i$. What is known about the existence of such a price vector, and how difficult is it to find one? I would imagine that the primary useful tools would be fixed-point type theorems, but I'm also particularly curious if there are known algorithms for finding this vector. We can assume, for example, that for any price vector, the $D_i$'s must sum to one, so that overall demand for the $n$ variants remains constant.

-
Are there additional assumptions? It seems to me if each $D_i$ is constant, equal to say $1/n$, then all your conditions are satisfied, but you cannot obtain any demand vector by varying the prices. – Kevin Ventullo Mar 1 '13 at 8:35
Good point -- there are actually two more technical assumptions although I omitted them here since I was trying to get a general sense of the difficulty of this problem rather than address the specific case I'm working with; the paper that I'm referring to is "Demand for Differentiated Products, Discrete Choice Models, and the Characteristics Approach" by Anderson, De Palma, and Thisse, from Vol. 56 of The Review of Economic Studies. – Eric Andersson Mar 1 '13 at 17:40