>>312
プログラム内の主な部分をとりあえず消してみたので、その後の処理は

for(i=0;i<n;i++)free(x[i]);
free(x);

を使って開放しているだけにしてあります。