Most Common Multiple Not to be confused with Least Common Multiple.
Given a list of positive integers with more than one element, return the most common product of two elements in the array.
For example, the MCM of the list [2,3,4,5,6] is 12, as a table of products is:
    2  3  4  5  6
  ---------------
2 | #  6  8  10 12
3 | #  #  12 15 18
4 | #  #  #  20 24
5 | #  #  #  #  30
6 | #  #  #  #  #

Thanks DJMcMayhem for the table
As 12 appears the most times (two times as 2*6 and 3*4). Note that we aren't including the product of an element and itself, so 2*2 or 4*4 do not not appear in this list. However, identical elements will still be multiplied, so the table for [2,3,3] looks like:
    2  3  3
  ----------
2 | #  6  6 
3 | #  #  9
3 | #  #  #

With the MCM being 6.
In the event of a tie, you may return any of the tied elements, or a list of all of them.

This is code-golf, so the shortest byte count for each language wins!

Test-cases:
[2,3,4,5,6] -&gt; 12
[7,2] -&gt; 14
[2,3,3] -&gt; 6
[3,3,3] -&gt; 9
[1,1,1,1,2,2] -&gt; 2
[6,200,10,120] -&gt; 1200
[2,3,4,5,6,7,8,8] -&gt; 24
[5,2,9,10,3,4,4,4,7] -&gt; 20
[9,7,10,9,7,8,5,10,1] -&gt; 63, 70, 90 or [63,70,90]
R, 54 50 41 bytes



order(-tabulate(combn(scan(),2,prod)))[1]


Try it online!

Alternatively, for 54 53 44 bytes:



names(sort(-table(combn(scan(),2,prod))))[1]


Try it online!

In principle, the latter version outputs the relevant result even without the names function, but followed by the count of such most frequent products, which isn't asked for...

Thanks to CriminallyVulgar  for -4 and -1, and Giuseppe for -9 on both.