0

C, 1716 bytes
No answers so far, so I decided to put my own solution.
#define m(a,b,c,d)t[c][d]=r[a][b];
#define n(a)m(a,1,a,3)m(a,2,a,6)m(a,3,a,9)m(a,4,a,2)m(a,6,a,8)m(a,7,a,1)m(a,8,a,4)m(a,9,a,7)
#define y memcpy
typedef char R[7][10];R t;F(R r){y(t,r,70);n(1)m(5,7,2,1)m(5,8,2,4)m(5,9,2,7)m...