1. A method of identifying unusual combinations of values in data that is arranged in plural rows and plural columns, wherein each column of a row contains a value, the method comprising: pre-processing the data to put it into a form suitable for application of a search method thereto, comprising creating a table of unique column-values, including a “no item” value for each column; using said search method, searching through the pre-processed data to search the set of possible combinations of unique values from the columns by recursively incrementing unique column-value pointers in the table and for each set of values selected by said pointers, evaluating the set of values according to an evaluation metric to determine one of: the set of unique values is an unusual combination; the set of unique values cannot be unusual; and the set of unique values could potentially have unusual derivatives; outputting the set of unique values if it is determined that the set of unique values is an unusual combination; pruning the set of unique values and all its derivatives from the search if it is determined that the set of unique values cannot be unusual; and continuing the search if it is determined that the set of unique values could potentially have unusual derivatives; wherein the evaluation metric is based on excess bits of information provided by bits of information of the combined set of unique values from the columns when compared to the sum of bits of information provided by the individual values from the columns scaled to take into account the randomness of the underlying columns being considered, wherein said bits of information are determined in accordance with the logarithm of the probability of the combined set of unique values or the individual values in the data.