Looking for resources for understanding derivation of demand from utility I am struggling with my homework and would very much appreciate a rundown of the math or pointers to where I can find help otherwise. Quoting from the assigment:

There are $n$ sectors in the economy who each produce a distinct good, with the good of sector $i$ being denoted as $x_i$. Assume that there exists one (representative) consumer who takes prices as given and inelastically supplies $L$ units of labor. He has the following utility function: $$U = \prod_{i=1}^{n} x_i$$
The consumer receives an income of $y$. His budget constraint is given by: $\sum_{i=1}^{n} p_ix_i = y$. The wage $w$ is normalized to 1. His income consists of labor income $Lw$ as well aggregate profits $\bar\pi$, i.e.: $$y = \bar\pi + L.$$

The first question is to derive the demand for a good $i$ and show that expenditure for each good is given by ${y\over n}$ and therefore is equal for every good.
I have found this and this on math.se, which only deals with more concrete utility functions. This on math.se has a lot of links, but I cannot distinguish where I should start.
In all, I would really appreciate some pointers!
 A: In principle, the question as I asked it is far too broad (as I discovered during my lectures the last few days). However, I think there is some merit (a lot of it, for me personally) in carefully identifying and discussing missing information, realizations I failed to have, or general mistakes. Please note that this is just my understanding and I'm more than happy to be corrected!
My first problem was my focus on derivation of demand from only utility, and not considering all factors. Intuitively, the demand for a product is related to both utility and price. There is also a clear maximum amount the consumer is willing to spend as an additional factor. So, utility, price, and budget form the basis for demand, not just utility. The real question therefore is not "derive demand", but "how can the consumer maximize his utility, given his budget constraints," and the demand will follow from part of that answer.
There are multiple ways to solve that problem, and @Dimitry posted one option in the comments, which is using a Cobb-Douglas utility function. Furthermore, he gave another hint in that direction by suggesting the natural log to make differentiation easier, but I was unable to follow the math on Wikipedia (although it is probably explained here on math.se :) ).
An other option, which the TA showed, is to use a Langrangian, which maximizes one function subject to a constraint. In this case, we need to maximize utility, with a given budget constraint. (In hindsight, the question was somewhat obviously set up to point in that direction. Not that it helped me much because I never followed an Econ class.)
The Lagrangian for $f(x,y)$ with constraint $g(x,y) = c$ is:
$$\mathcal{L} = f(x,y) - \lambda\left(g(x,y) - c\right)$$
Substituting the formulae for our utility and budget constraints gives:
$$\mathcal{L} = \prod_{i=1}^{n} x_i - \lambda\left(\sum_{i=1}^{n} p_ix_i - y\right)$$
Because we want to find a maximum, we have to take a first order derivative and set it equal to zero:
$${{\delta\mathcal{L}}\over{\delta x_i}} = 0$$
Note that we will not simply derive for $x$, we will derive for $x_i$, in other words, an arbitrary good. The next part is probably going to be extremely tedious to read because I have to make almost every small step explicit in order to be sure I get it right.
First, lets take a look at what it means to take the first order derivative of a product function ($\prod$). The product function that describes the utility essentially boils down to a rather long multiplication:
$$\prod_{i=1}^{n} x_i \equiv x_1\times x_2\times x_3\times\ldots\times x_n$$
Suppose we now take the first order derivative for $x_2$. Because it is a multiplication, everything except $x_2$ stays unchanged, but $x_2$ will disappear (because of the power rule):
$$x_1\times \left(1\cdot x_2^0\right)\times x_3\times\ldots\times x_n \Rightarrow\\ x_1\times \left(1\cdot 1\right)\times x_3\times\ldots\times x_n \Rightarrow\\ x_1\times x_3\times\ldots\times x_n$$
So if we take the first order derivative for $x_2$, we could say that we have the product of all $x_i$, with $i=1$ as our starting point, $n$ as the endpoint, but with the additional rule that $i$ can never be equal to $2$.
In a similar way, if we take the first order derivative for $x_i$, our result has to contain all previous values except $x_i$. Suppose we call the new variable we're going to use $k$. The only requirement for $k$ is to be not $i$ (and, I suppose, $k<0$, but that is implied from the original function I think). Taking this requirement and putting it in our product function we have the first part of the first order derivative of our Lagrangian:
$$\prod_{k\neq i}^{n} x_k$$
For the second part we have to take the first order derivative of a sum ($\sum$). This is slightly different, but can be explained in a similar fashion. First, we expand the notation again, to show what goes on 'under the hood':
$$\sum_{i=1}^{n} p_ix_i \equiv p_1x_1 + p_2x_2 + \cdots + p_nx_n $$
Suppose again we take the first order derivative for $x_2$. Like in the previous example, $x_2$ gets reduced through the power rule. Unlike the previous example, all other $x$'s now become constants, which are eliminated when taking a first order derivative:
$$\require{cancel} \cancel{p_1x_1 +} p_2 \left(1\cdot x_2^0 \right)\cancel{ + \cdots + p_nx_n } \Rightarrow p_2 \cdot 1 \Rightarrow p_2$$
We can see that if we derive for $x_1$, the result will be $p_1$. More generally, no matter which $i$ we choose, all other $p$'s and $x$'s will be constants and will be eliminated, leaving only $p_i$. However, the sum-part of our Lagrangian also contains another constant $y$, but as we have seen, that gets eliminated. Therefore, the first order derivative of the part between brackets is:
$$\sum_{i=1}^{n} p_ix_i - y \Rightarrow p_i$$
With that, we can finally construct the first order derivative of our Lagrangian for an arbitrary good $x_i$:
$${{\delta\mathcal{L}}\over{\delta x_i}} = \prod_{k\neq i}^{n} x_k - \lambda \left(p_i\right) = 0$$
However, that doesn't tell us much. It simply states that at some expenditure $\lambda p_i$ the utility we get from $x_i$ is maximized and equal to $\prod_{k\neq i}^{n} x_k$. However, we are looking for demand, which means we want to express $x_i$ as some function of the other variables. So we would like to get out some $x_i$ somewhere and if we could get rid of that pesky $\lambda$ all the better.
How about we take another arbitrary good, $j$, and derive its first order condition:
$${{\delta\mathcal{L}}\over{\delta x_j}} = \prod_{k\neq j}^{n} x_k - \lambda \left(p_j\right) = 0$$
Now we can take a look at the relative demand of both goods. Maybe we buy more of one than the other? We can do this by slightly rewriting the first-order conditions, and dividing them by each other:
$${{\prod_{k\neq j}^{n} x_k}\over{\prod_{k\neq i}^{n} x_k}} = {{p_j}\over{p_i}}$$
Notice how the $\lambda$'s are gone, as we divided those by each other. Even better, we can find our $x_i$ somewhere in the division of the two product functions. Notice how the top product function includes all $k$ except $j$. This means it includes $i$. The bottom function has all $k$ except $i$. Therefore, as we divide those, $i$ is the only value for $k$ that will remain on the top. Similarly, because the top does not include $j$, that is the only value for $k$ that will remain on the bottom. For example:
$$\require{cancel} {{1\times2\times3}\over{1\times2\times4}} \Rightarrow {{\cancel{1\times2\times}3}\over{\cancel{1\times2\times}4}} \Rightarrow {3\over4}$$
If we do it for real now, we will get:
$${x_i \over x_j} = {p_j \over p_i} \Rightarrow p_ix_i = p_jx_j$$
This means that the consumer spends identical portions of his budget on goods $i$ and $j$. Because these are arbitrary goods, this holds for all goods. If there are $n$ goods which each get an identical portion of the budget $y$, then we know that the portion of the budget $p_ix_i$ for each good $i$ is ${y \over n}$. Finally, we can rewrite that to give us our final demand of good $i$: $x_i = {y \over np_i}$.
