I haven't thought it out fully, but it would be a lot easier if you store the matrix row-wise instead of column wise. I've no doubt that this could be done with awk, but I'd probably use a small Perl or Python script to store it row-wise, e.g.:
Code:
#!/usr/bin/env python
import sys
n = 0
r = []
for line in sys.stdin:
line = line.strip()
larr = line.split()
n += 1
r.extend(larr[len(larr)-n:])
print r
Note that this is totally untested. Error checking and extending this code to not store the diagonal is left as an exercise to the reader. It should be fairly straightforward to transfer this to awk, for someone who knows awk syntax a bit better than I do :-).