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;

public class Main {
	public static void main(String[] args) {
		print();
	}

	private static void print() {
		DecimalFormat format = new DecimalFormat("#.#");
        format.setMinimumFractionDigits(3);
        format.setMaximumFractionDigits(3);

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

		try {
			String str = br.readLine();

			while (str != null) {

				String[] nums = str.split(" ", 0);

				BigDecimal a = new BigDecimal(Integer.parseInt(nums[0]));
				BigDecimal b = new BigDecimal(Integer.parseInt(nums[1]));
				BigDecimal c = new BigDecimal(Integer.parseInt(nums[2]));
				BigDecimal d = new BigDecimal(Integer.parseInt(nums[3]));
				BigDecimal e = new BigDecimal(Integer.parseInt(nums[4]));
				BigDecimal f = new BigDecimal(Integer.parseInt(nums[5]));

				BigDecimal xTemp = c.divide(a, 3, BigDecimal.ROUND_HALF_UP);
				BigDecimal xTemp2 = b.divide(a, 3, BigDecimal.ROUND_HALF_UP);
				BigDecimal x = new BigDecimal(0.000);
				BigDecimal y = new BigDecimal(0.000);
				y = f.subtract((c.multiply(d).divide(a,  3, BigDecimal.ROUND_HALF_UP)))
							.divide(e.subtract((b.multiply(d).divide(a,  3, BigDecimal.ROUND_HALF_UP))));
				x = (c.subtract(b.multiply(y))).divide(a,  3, BigDecimal.ROUND_HALF_UP);


				System.out.println(format.format(x) + " " + format.format(y));
				str = br.readLine();
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}