n=2023;​​numberOfVars=9;​​(*Generatelistofdivisorsofnandremove1fromdivisorlist(the\​firstelement)*)​​divs=Divisors[n]//Rest;​​(*generatelistofdivisionpowersofeachdivisor*)​​divPowers=IntegerExponent[n,divs];​​(*repeatdivisorsthathavemultiplepowerdivisibilityofn*)​​repeatedDivisorList=​​ParallelTable[​​ConstantArray[divs[[i]],divPowers[[i]]],{i,Length[divs]}]//​​Flatten;​​(*generateprimefactorization*)​​primeFac=FactorInteger[n];​​(*themaxnumberofnon-1productsina*b*c*d*e*...=nisthesumof\​primepowersinitsprimefactorization,asyoucan'tsplitnumbers\​downanymoreafterprimes*)​​maxFactors=Total[primeFac[[All,2]]];​​​​(*getuniquesubsetsofdivisorsuptomaximumlengthmaxFactors*)​​subsets=​​ParallelArray[Subsets[repeatedDivisorList,{#}]&,maxFactors];​​subsets=DeleteDuplicates[Flatten[subsets,1]];​​​​(*calculateproductforeachuniquesubset*)​​candiateProducts=Parallelize[Times@@@subsets];​​(*selectpositionofcandidateswithaproductofn*)​​productsSatisified=Flatten[Position[candiateProducts,n]];​​(*generatelistoffactorsthatmultiplyton*)​​productsList=ParallelTable[subsets[[i]],{i,productsSatisified}];​​(*makeallthelistslengthnumberOfVarssincewe'relookingfor\​a*b*...*i==nbypaddingonesonthem*)​​productsList=​​ParallelMap[PadLeft[#,numberOfVars,1]&,productsList];​​(*calculatesumsofeachfactorization*)​​sumsList=Parallelize[Plus@@@productsList];​​(*selectpositionsthatsumton*)​​solnsPos=Flatten[Position[sumsList,n]];​​​​solns=Flatten[productsList[[solnsPos]]]