@Override
        public boolean equals(Object o) {
            if (this == o) return true;
            if (o == null || getClass() != o.getClass()) return false;

            Pair pair = (Pair) o;

            if (a != pair.a) return false;
            return b == pair.b;

        }
Date 03/21/2016
@author Tushar Roy

Given n points on a 2D plane, find the maximum number of points that lie on the same straight line.

Time complexity O(n^2) 
Space complexity O(n)

https://leetcode.com/problems/max-points-on-a-line/
src/com/interview/geometry/MaximumPointsOnSameLine.java