How to perform a reggression on 3 functions using a Neural Network
Should my output layer have 1 or 3 neurons?


The easiest thing to do is to create 3 separate networks, one for each function you want to approximate.

While it may certainly be beneficial if you combine all 3 outputs into the same model via a multi-task framework, I'd suggest starting off with separate networks, which is more intuitive. Then, if you want to see if combining them under one network improves your performance, you could check out how to create models with multiple outputs in keras.


  Also, should I be using a relu or linear activation function for the output layer? 


Linear, definitely.


  For my metrics, should I use 'accuracy' or 'r2'?


Accuracy is a metric for classification, not regression. $r^2$ can be used, but for certain problems it isn't very reliable. You could try $r^2$, as well as MSE, MAE, MSLE (MSE of the $log$s of the predicted/actual values), etc.