Task
Given a non-empty list of positive digits, group them into sublists of equal sum. You may output any subset of solutions with maximal number of sublists (equivalently, minimal sum).
The input may contain repeat elements. There may not exist any solution but the singleton list containing the input itself. The output does not need to be in any particular order. You may not assume in the input list is in any particular order.
Format
You must accept a non-empty list of positive integers and output a 2D list of those integers, both in any reasonable format. Since I have restricted the inputs to 1-9, you may just accept a string of digits as input. However, your output give an obvious indication as to how the sublists are split.
Test Cases
These only show one solution, but if more exist, you may output them instead, or multiple, etc.
[9, 5, 1, 2, 9, 2] -> [[9, 5], [1, 2, 9, 2]]
[1, 1, 3, 5, 7, 4] -> [[1, 1, 5], [3, 4], [7]]
[2, 9, 6, 1, 5, 8, 2] -> [[2, 9], [6, 5], [1, 8, 2]]
[2, 8, 3, 9, 6, 9, 3] -> [[2, 3, 9, 6], [8, 9, 3]]
[5, 4, 1] -> [[5], [4, 1]]
[3, 8, 1, 4, 2, 2] -> [[3, 1, 4, 2], [8, 2]]
[6, 9, 3, 8, 1] -> [[6, 3], [9], [8, 1]]
[4, 1, 6, 9, 1, 4, 5, 2] -> [[4, 1, 6, 1, 4], [9, 5, 2]]
[8, 7, 8, 6, 1] -> [[8, 7], [8, 6, 1]]
[2, 7, 4, 5] -> [[2, 7], [4, 5]]
[5, 2, 1, 4, 4] -> [[5, 2, 1], [4, 4]]
[5, 7, 4, 6, 2] -> [[5, 7], [4, 6, 2]]
[4, 1, 6, 6, 9] -> [[4, 9], [1, 6, 6]]
[2, 6, 4] -> [[2, 4], [6]]
[6, 3, 1, 6, 8, 4, 5, 7] -> [[6, 3, 1, 6, 4], [8, 5, 7]]
[2, 2, 2] -> [[2], [2], [2]]
[2, 4, 5] -> [[2, 4, 5]]
Here is an extremely inefficient test case generator.