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.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main{

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		int i;
		double x, y, tmp0,tmp3;
		List<Double> list = new ArrayList<Double>();
		Scanner scanner = new Scanner(System.in);
		//list.add(Integer.parseInt(scanner.next()));
		for(i = 0; i < 6; i++) {
			list.add(scanner.nextDouble());
		}
		tmp0 = list.get(0);
		tmp3 = list.get(3);
		for(i = 0; i < 3; i++) {
			list.set(i, list.get(i) * tmp3);
			list.set(i + 3, list.get(i+3) * tmp0);
		}
		list.add(list.get(1) - list.get(4));
		list.add(list.get(2) - list.get(5));
		if(list.get(6) == 0){
			x = 0;
			y = list.get(2) / list.get(1);
		}else {
			y = list.get(7) / list.get(6);
			x = (list.get(2) - list.get(1) * y) / list.get(0);
		}
		if (x == -0) {
			x = 0;
		}
		if (y == -0) {
			y = 0;
		}
		//System.out.println(list);
		System.out.println(String.format("%.3f", x) + " " + String.format("%.3f", y) );
		scanner.close();
	}
}