human
Give me a Python program to find all possible combinations of k numbers that add up to a number n, given that only numbers from 1 to 9 can be used and each combination should be a unique set of numbers given the following:
I found an interesting problem on https://leetcode.com/problems/combination-sum-iii/:
Find all possible combinations of k numbers that add up to a number n, given that only numbers from 1 to 9 can be used and each combination should be a unique set of numbers.

Note:

       All numbers will be positive integers.
       The solution set must not contain duplicate combinations.

Example 1:

Input: k = 3, n = 7
Output: [[1,2,4]]

Example 2:

Input: k = 3, n = 9
Output: [[1,2,6], [1,3,5], [2,3,4]]

I tried it in Python, but could not do it. Can you solve it?
assistant
#Here is Python program to find all possible combinations of k numbers that add up to a number n, given that only numbers from 1 to 9 can be used and each combination should be a unique set of numbers.

class Solution:
     def combinationSum3(self, k, n):
         """
         :type k: int
         :type n: int
         :rtype: List[List[int]]
         """
         to_return = []
         self.backtrack(to_return, [], k, n, 1)
         return to_return
     
     def backtrack(self, to_return, temp, k, n, start):
         total = sum(temp)
         
         if total > n:
             return
         if len(temp) == k and total == n:
             to_return.append(temp[:])
             return
         
         for i in range(start, 10):
             temp.append(i)
             self.backtrack(to_return, temp, k, n, i + 1)
             temp.pop()