Random walks are frequently used as a model for very diverse physical phenomena. The Monte Carlo method is a versatile tool for the study of the properties of the systems modelled as random walks. Often, each walker is associated with a statistical weight, used in the estimation of observable quantities. Weights are typically assumed to be positive; nonetheless, some applications require the use of positive and negative weights or complex weights, and often pose particular challenges with convergence. In this paper, we examine such a case from the field of nuclear reactor physics, where the negative particle weights prevent the power iteration algorithm from converging on the sought fundamental eigenstate of the Boltzmann transport equation. We demonstrate how the use of weight cancellation allows convergence on the physical eigenstate. To this end, we develop a novel method to perform weight cancellation in an exact manner, in three spatial dimensions. The viability of this algorithm is then demonstrated on a reactor physics problem.