def inner_solve(u, data):
        a = data[0, :-4]
        b = data[1, :-2]
        d = data[2, :]
        e = data[3, 2:]
        f = data[4, 4:]
        n = d.shape[0]
        u[2] -= b[0]*u[0]
        u[3] -= b[1]*u[1]
        for k in range(4, n):
            u[k] -= (b[k-2]*u[k-2] + a[k-4]*u[k-4])
        u[n-1] /= d[n-1]
        u[n-2] /= d[n-2]
        u[n-3] = (u[n-3]-e[n-3]*u[n-1])/d[n-3]
        u[n-4] = (u[n-4]-e[n-4]*u[n-2])/d[n-4]
        for k in range(n-5, -1, -1):
            u[k] = (u[k]-e[k]*u[k+2]-f[k]*u[k+4])/d[k]