Solution (Easy to Understand) 10 Lines logic
\n# Code\n\nclass Solution {\n    public long largestSquareArea(int[][] bottomLeft, int[][] topRight) {\n        int n = bottomLeft.length;\n        long ans = 
\n# Code\n```\nclass Solution {\n    public long largestSquareArea(int[][] bottomLeft, int[][] topRight) {\n        int n = bottomLeft.length;\n        long ans = 0;\n\n        for (int i = 0; i < n; i++) \n        {\n            for (int j = i + 1; j < n; j++) {\n                int[] bl = {\n                    Math.max(bottomLeft[i][0], bottomLeft[j][0]),\n                    Math.max(bottomLeft[i][1], bottomLeft[j][1])\n                };\n                int[] tr = {\n                    Math.min(topRight[i][0], topRight[j][0]),\n                    Math.min(topRight[i][1], topRight[j][1])\n                };\n\n                if (bl[0] < tr[0] &&\n                    bl[1] < tr[1]) {\n                    int temp = Math.min(tr[0] - bl[0], tr[1] - bl[1]);\n                    ans = Math.max(ans, (long)temp * temp);\n                }\n            }\n        }\n\n        return ans;\n    }\n}\n```
['Array', 'Math', 'Geometry', 'Java']