Ejercicio controlador+vistas

Crear un controlador ‘Tablas’ Que tenga las siguientes acciones:

Diagonal?lado=xx

Nos dibujará una tabla con 1 en la diagonal principal y aumentando de número en las siguientes diagonales. Ejemplo:

1 2 3 4
2 1 2 3
3 2 1 2
4 3 2 1

Aleatorio?lado=xx

Nos dibujará una tabla con valores aleatorios entre 1 y 9. Ejemplo:

1 6 3 5
2 4 2 8
6 2 7 2
2 5 2 9

Magico?lado=??

Nos dibujará una tabla con un cuadrado mágico del lado que nos indiquen. Tenemos que comprobar que el lado sea impar. Ejemplo:

4 9 2
3 5 7
8 1 6

Pista: http://www.elguille.info/NET/dotnet/cuadradoMagico.htm