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 C# (judge verdict: Accepted)

using System;

namespace AIZUJudge {
    class EquisionSolver {
        static void Main(string[] args) {
            string line = "";
            while ((line = Console.ReadLine()) != null) {
                string[] set = line.Split(' ');
                int devides = 2;
                int lineLength = 3;

                Matrix eqMatrix = new Matrix(devides,lineLength-1);
                Matrix scalar = new Matrix(devides,1);

                for (int i = 0; i < devides; i++) {
                    for (int j = 0; j < lineLength-1; j++) {
                        eqMatrix.setElement(i, j, set[i*lineLength+j]);
                    }
                }
                scalar.setElement(0, 0,set[2]);
                scalar.setElement(1, 0, set[5]);

                double[] sol = eqMatrix.solveEq(scalar,2);
                Console.WriteLine(sol[0].ToString("f3") + " " + sol[1].ToString("f3"));
            }
       }
    }
    
    public class Matrix {
        double[,] element;
        public Matrix(int rowSize, int columnSize) {
            element = new double[rowSize, columnSize];
        }
        public void setElement(int row, int column, string value) {
            element[row, column] = double.Parse(value);
        }
        public double[] solveEq(Matrix scalar,int sol_Length) {
            double[] solution = new double[sol_Length];
            solution[0] = (element[1, 1] * scalar.element[0, 0] - element[0, 1] * scalar.element[1, 0]) / (element[0, 0] * element[1, 1] - element[0, 1] * element[1, 0]);
            solution[1] = (element[0, 0] * scalar.element[1, 0] - element[1, 0] * scalar.element[0, 0]) / (element[0, 0] * element[1, 1] - element[0, 1] * element[1, 0]);
            return solution;
        }
    }
}