def det(l):
    n=len(l)
    if (n>2):
        i=1
        t=0
        sum=0
        while t<=n-1:
            d={}
            t1=1
            while t1<=n-1:
                m=0
                d[t1]=[]
                while m<=n-1:
                    if (m==t):
                        u=0
                    else:
                        d[t1].append(l[t1][m])
                    m+=1
                t1+=1
            l1=[d[x] for x in d]
            sum=sum+i*(l[0][t])*(det(l1))
            i=i*(-1)
            t+=1
        return sum
    else:
        return (l[0][0]*l[1][1]-l[0][1]*l[1][0])
def simul(leq,lcoeff):
    D=float(det(leq))
    if D==0:
        return -1
    else:
        t=0
        n=len(leq)
        l=[]
        while t<=(n-1):
            lt=[]
            for x in leq:
                ltemp=[]
                for y in x:
                    ltemp.append(y)
                lt.append(ltemp)
            m=0
            while m<=(n-1):
                lt[m][t]=lcoeff[m]
                m+=1
            l.append(det(lt)/D)
            t+=1
        return l
