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.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigDecimal;
import java.text.DecimalFormat;

/**
 * Created by Reopard on 2014/05/06.
 */
public class Main {
    public static void main(String args[]){
        double x, y;
        double a, b, c, d, e, f;
        String line;
        String tmp[];
        DecimalFormat df = new DecimalFormat("0.000");
        BufferedReader reader  = new BufferedReader(new InputStreamReader(System.in));
        try{
            while((line = reader.readLine()) != null){
                tmp = line.split(" ");
                a = Double.parseDouble(tmp[0]);
                b = Double.parseDouble(tmp[1]);
                c = Double.parseDouble(tmp[2]);
                d = Double.parseDouble(tmp[3]);
                e = Double.parseDouble(tmp[4]);
                f = Double.parseDouble(tmp[5]);
                x = (c*e-b*f)/(a*e-b*d);
                y = (-c*d+a*f)/(a*e-b*d);
                BigDecimal bi_x = new BigDecimal(x);
                BigDecimal bi_y = new BigDecimal(y);
                x = bi_x.setScale(3, BigDecimal.ROUND_HALF_UP).doubleValue();
                y = bi_y.setScale(3, BigDecimal.ROUND_HALF_UP).doubleValue();
                System.out.println(df.format(x) + " " + df.format(y));
            }
        }catch(IOException error){
            System.exit(0);
        }
    }
}