On closer inspection, it seems that the Euler equation at the bottom of the question is the correct expression for the necessary conditions for a solution. It's composed of two conditions – an intertemporal condition on the growth of the state variable, $K$:
$U_{K^+}+\beta E\left[(U_{K^+})|G,\zeta \right]=0$
In other words, the sacrifice in utility gained by increasing $K^+$ has to be compensated for by the increase in expected future utility that is gained. In other words, increasing $K^+$ this period decreases current utility, but increases the expected value of future utility flows, and an optimum is achieved (provided an interior solution exists) when the two of these exactly offset one another.
The second condition is the intratemporal condition on $N$:
$U_N=\frac{\partial u}{\partial c}\times\frac{\partial c}{\partial N} + \frac{\partial u}{\partial N}=0$
$u$ is increasing in $N$ in its first argument (higher $N$, more production), but decreasing in its second argument (lower $N$, more utility from leisure). Therefore, it's a necessary condition for an optimum that the marginal increase in utility gained by increasing $N$ be offset by the marginal decrease in utility lost.
Best Answer
Dynamic Programming can be set up in principle to deal with as large (high a dimension) state space as needed. But there is something called the curse of dimensionality which strikes Dynamic Programming particularly hard as the dimension increases.
The key to Dynamic Programming is judicious definition of the state space. There is a large amount of intuition and art in that. So think through carefully what you need your state space to be. If you have enough (correct) states, then it's straightforward to write out the optimization problems which have to be solved at each stage in the Dynamic Program. If you can't write out the optimization problem at each stage, it may indicate your state space is inadequate. It may not be so straightforward to actually solve them quickly, however.
Generally state spaces which are just big enough are the best, although not necessarily. However, if you are having trouble, it may help if you start with a bigger than needed state space, and once you have that set up, see if you can be more clever and pare back the dimension of the state space.
I leave the definition of the state space as an exercise to you.