In this paper, we are interested in solving a DC programming problem \((\mathscr {P})\) . To this end, we first consider an equivalent problem (Q) of \((\mathscr {P})\) which we decompose into a family of convex subproblems \(({Q}_{x^*})_{x^*\in \mathbb {R}^n\setminus \{0\}}\) . Then, we propose a variant DC algorithm (VDCA) to solve a subfamily \((Q_k)_{{k\in \mathbb {N}}^*}\) of \(({Q}_{x^*})_{x^*\in \mathbb {R}^n\setminus \{0\}}\) . Finally, we show that any accumulation point of a sequence of solutions generated by the algorithm is a DC critical point of the original problem \((\mathscr {P})\) . Numerical examples are given for comparison with the classical DCA algorithm.