Python 233
def d(x):
l=len(x)
if l<2:return x[0][0]
return sum([(-1)**i*x[i][0]*d(m(x,i))for i in range(l)])
def m(x,i):y=x[:];del(y[i]);y=zip(*y);del(y[0]);return zip(*y)
x=[input()]
for i in (len(x[0])-1)*[1]:x+=[input()]
print d(x)
Ungolfed:
def det(x):
l = len(x)
if l == 1:
return x[0][0]
return sum([(-1)**i*x[i][0]*det(minor(x,i+1,1)) for i in range(l)])
def minor(x,i,j):
y = x[:]
del(y[i-1])
y=zip(*y)
del(y[j-1])
return zip(*y)
def main():
x = [input()]
for i in range(len(x[0])-1):
x += [input()]
print det(x)
if __name__ == '__main__':
main()
Usage
As requested, input is on stdin and output is to stdout.
I interpreted columns separated by any space char to mean that I can use comma delimited numbers. If this is not the case, I will rework my solution.
This could be about 30 characters shorter if I could specify my input matrix in the form [[a,b,c],[d,e,f],[g,h,i]].
./det.py
1,-4,9
-6,7,3
1,2,3
Result
-240
The determinant is found using Laplace Expansion
Chandra Bahadur Dangi
wins this competition at1 ft 11 in
. First competition ever won by somebody who's probably never heard of the site :) \$\endgroup\$