Optimal transport is increasingly used to develop ML fairness techniques that consider the full shapes of distributions corresponding to different sensitive attributes, as opposed to lower order moments. Current applications of optimal transport to fairness are based on solving discrete optimal transport problems, which might suffer from inaccuracies. This paper introduces a method to achieve the strong demographic parity fairness criterion based on a dual formulation of the continuous optimal transport problem. We show that the method is competitive with discrete methods, and advantageous when little data is available to solve the optimal transport problem. We also show that both our and discrete methods are able to continually adjust the model parameters to adapt to different level of unfairness that might occur in real-applications of an ML system.