Problem:
Simultaneous Equation

Write a program which solve a simultaneous equation:

ax + by = c

dx + ey = f

The program should print x and y for given a, b, c, d, e and f (-1,000 ≤ a, b, c, d, e, f ≤ 1,000). You can suppose that given equation has a unique solution.

Input

The input consists of several data sets, 1 line for each data set. In a data set, there will be a, b, c, d, e, f separated by a single space. The input terminates with EOF.

Output

For each data set, print x and y separated by a single space. Print the solution to three places of decimals. Round off the solution to three decimal places.

Sample Input 1

1 2 3 4 5 6
2 -1 -2 -1 -1 -5

Output for the Sample Input 1

-1.000 2.000
1.000 4.000

Sample Input 2

2 -1 -3 1 -1 -3
2 -1 -3 -9 9 27

Output for the Sample Input 2

0.000 3.000
0.000 3.000

Solution in JAVA (judge verdict: Accepted)

import java.io.IOException;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) throws IOException {
        double[] d = new double[6];
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()) {
            for(int i=0; i<d.length; i++) {
                d[i] = sc.nextDouble();
            }
            double adbc = d[0]*d[4] - d[1]*d[3];
            if(Double.compare(adbc, 0.0f) == 0) {
                continue;
            }
            double[][] m1 = {{ d[4]/adbc, -d[1]/adbc},
                             {-d[3]/adbc,  d[0]/adbc}};
            double[][] m2 = {{d[2]}, {d[5]}};
            double x = m1[0][0] * m2[0][0] + m1[0][1] * m2[1][0];
            double y = m1[1][0] * m2[0][0] + m1[1][1] * m2[1][0];
            System.out.println(String.format("%.3f %.3f", x, y));
        }
    }
}