求一个数等于两个不同的数的平方差

问题描述
2021是一个非常特殊的数,它可以表示成两个非负整数的平方差,2021 = 45 45 -22.
2025也是同样特殊的数,它可以表示成2025 = 45 45- 00。
问,在1到2021中有多少个这样的数?
请注意,有的数有多种表示方法,例如9= 33-00= 5* 5-4*4,在算答案时只算一次。

package com.news;

public class No3 {
    public static void main(String[] args) {
        int r = 0;
        for (int n = 0; n < 2021; n++) 
            for (int m = 1; m < 2021; m++) 
                for (int i = 1; i <= 2021; i++) {
                    if (i == m * m - n * n) {
                        
                        System.out.println(i+"="+m+"平方-"+n+"平方");
                        
                    }
                    
                }
                }
        }

目前只能输出所有符合条件的结果,但是例如:9= 33-00= 5* 5-4*4,在算答案时都把它算进去了