I think this is likely to be an exponential problem. For example, if one of the methods has one in each column, then any subset of the methods containing this method is an explanation, and therefore, if there are M methods, there are at least 2 ^ (M-1) explanations; similarly, if any pair of methods together has one in any column, that is, at least 2 ^ (M-2) explanations.
Here is a method that, although still exponential, I think is faster than listing all the explanations, especially when there are methods with many 1s.
Let T (A, B) be the number of subsets of A (a set of methods) that have at least one 1 in each column in B (a set of columns).
If B is empty, T (A, B) is the number of subsets of A, i.e. 2 ^ # A, where A has elements #A. Otherwise, if A is empty, T (A, B) is 0. Otherwise, if I am an element from A (for example, the first),
T (A, B) = T (A \ {i}, B \ m [i]) + T (A \ {i}, B)
(here A \ {i} is A without i, B \ m [i] - B without any of the columns in method i)
T can be encoded quite briefly as a recursive function.
Finally, c [j] is the number of times the method j occurs in the explanation,
c [j] = T (A \ {j}, C \ m [j])
where C is the set of all columns.