Se seu problema é muito difícil de resolver, divida eles em pequenas partes, e depois junte as soluções encontradas.