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: Wrong Answer)


import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner scan = new Scanner( System.in );
        float vector[][] = new float[2][3];
        int i, j;
        while( scan.hasNext() ) {
            for( i = 0; i < 2; i ++ ) {
                for( j = 0; j < 3; j++ ) {
                    vector[i][j] = scan.nextFloat();
                }
            }
            Gaus(vector);
        }
    }
    
    private static void Gaus(float[][] vector) {
        int i;
        float x, y, k;
        
        if( vector[0][0] == 0 ) {
            float[] temp;
            temp = vector[0];
            vector[0] = vector[1];
            vector[1] = temp;
        }
        
        k = vector[1][0] / vector[0][0];
        for( i = 0; i < 3; i++ ) {
            vector[1][i] -= k * vector[0][i];
        }
        y = vector[1][2] / vector[1][1];
        x = (vector[0][2] - vector[0][1] * y) / vector[0][0];
        System.out.printf("%.3f %.3f", x, y);
    }
}