Fortran LU decomposition implementation