Alright Rory. I've watched it stop-start between work etc. I think I have an idea of how this works on pen/paper. The gaussian elimination part is a pain but in Matlab you use the rref command to facilitate this. Unpleasant anyways though.
It looks like writing this program is going to be a real pain in the butt.
Regarding question 2, you have a 12 x 15 cm plate. When you break it up into a 3cm mesh, you get a 4 x 5 grid. I managed to solve this sucessfully I think. If you get stuck I can try help you further - I don't mind.
Let me try write the program for question 3 and I will check in again soon (probably after lunch).