Shadow hawk is right in saying that you should start with something smaller. I assume you had already made a neural net yes? If not, you should start with something extremely simple that makes debugging easy as ShadowHawk said. That way you can make sure your code is good.
Generally you will want to limit yourself to boolean inputs and outputs as this makes things easier, but this is not the only way. For example People have trained a network with inputs matching outputs for words, and used a very small hidden layer. Then after the network was trained, they could use the output of the hidden layer directly resulting in having a very small encoded version of the word. It was shown that this version could be manipulated by other neural nets for example finding the plural version of an english word, and then it could be decoded with the last half of the origional neural net with successful results. Obviously the input to and output from these secondary manipulating nets was not boolean in any way. This experiment showed that data in the human brain may easily be encoded to minimize the required ammount of neurons.
Ok, I really should write up an article on this stuff.